From 715fad4ee74378190c5b5c6c95cd9e14097aa16b Mon Sep 17 00:00:00 2001 From: Spit <19otari98@gmail.com> Date: Sat, 4 Jan 2025 18:20:54 +0300 Subject: [PATCH 1/4] placeholders --- Instances/instances.en.lua | 80 ++++++++++++++++++++++++++++++++++---- 1 file changed, 72 insertions(+), 8 deletions(-) diff --git a/Instances/instances.en.lua b/Instances/instances.en.lua index b6fff3a..7600395 100644 --- a/Instances/instances.en.lua +++ b/Instances/instances.en.lua @@ -526,14 +526,14 @@ AtlasLootBossButtons = { "SFKWolfMasterNandos"; "SFKArchmageArugal"; ""; - ""; + "";--SFKPrelate "SFKTrash"; }; SMArmory = { "VanillaKeys"; ""; "SMHerod"; - ""; + "";--SMQuartermaster ""; "SMATrash"; "SCARLET"; @@ -557,7 +557,7 @@ AtlasLootBossButtons = { "SMIronspine"; "SMAzshir"; "SMFallenChampion"; - ""; + "";--SMDukeDreadmoore ""; "SMGTrash"; "SCARLET"; @@ -567,7 +567,7 @@ AtlasLootBossButtons = { "SMHoundmasterLoksey"; "SMDoan"; "SMDoansBox"; - ""; + "";--SMBrotherWystan ""; "SMLTrash"; "SCARLET"; @@ -681,14 +681,14 @@ AtlasLootBossButtons = { TheDeadmines = { ""; ""; - ""; + "";--DMJaredVoss "DMRhahkZor"; "DMMinerJohnson"; "DMSneed"; "DMSneedsShredder"; "DMGilnid"; --"DMDefiasGunpowder"; - ""; + "";--DMHarvester "DMMrSmite"; "DMCookie"; "DMCaptainGreenskin"; @@ -855,10 +855,10 @@ AtlasLootBossButtons = { "WCLadyAnacondra"; "WCKresh"; "WCDeviateFaerieDragon"; - ""; + "";--WCZandara "WCLordPythas"; "WCSkum"; - ""; + "";--WCVangros "WCLordSerpentis"; "WCVerdan"; "WCMutanus"; @@ -3916,6 +3916,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 0, "", "", "" }, { 80710, "INV_SHOULDER_18", "=q2=Turtle Scale Shoulderguards", "=ds=#s3#, #a3#", "33%" }, }; + -- WCZandara = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; WCLordPythas = { { 6472, "INV_Wand_10", "=q3=Stinging Viper", "=ds=#h1#, #w6#", "33%" }, { 6473, "INV_Shirt_16", "=q2=Armor of the Fang", "=ds=#s5#, #a2#", "33%" }, @@ -3928,6 +3936,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 0, "", "", "" }, { 80712, "INV_PANTS_08", "=q3=Charged Leggings", "=ds=#s11#, #a1#", "33%" }, }; + -- WCVangros = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; WCLordSerpentis = { { 6469, "INV_Weapon_Bow_10", "=q3=Venomstrike", "=ds=#w2#", "25%" }, { 5970, "INV_Gauntlets_19", "=q2=Serpent Gloves", "=ds=#s9#, #a1#", "25%" }, @@ -4503,6 +4519,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 60572, "INV_Shoulder_23", "=q3=Incendosaur Skin Pauldrons", "=ds=#s3#, #a2#, From Elites Outside Dungeon", "0.1%" }, { 60612, "INV_Helmet_47", "=q3=Mixologist Goggles", "=ds=#s1#, #a2#", "0.0025%" }, }; + -- DMJaredVoss = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; DMRhahkZor = { { 872, "INV_ThrowingAxe_01", "=q2=Rockslicer", "=ds=#h2#, #w1#", "5%" }, { 5187, "INV_Hammer_09", "=q1=Rhahk'Zor's Hammer", "=ds=#h2#, #w6#", "95%" }, @@ -4530,6 +4554,14 @@ AtlasLoot_Data["AtlasLootItems"] = { DMDefiasGunpowder = { { 5397, "INV_Misc_Ammo_Gunpowder_01", "=q1=Defias Gunpowder", "=ds=#m8#", "100%" }, }; + -- DMHarvester = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; DMMrSmite = { { 7230, "INV_Hammer_09", "=q3=Smite's Mighty Hammer", "=ds=#h2#, #w6#", "20%" }, { 5192, "INV_Sword_24", "=q2=Thief's Blade", "=ds=#h1#, #w10#", "30%" }, @@ -5060,6 +5092,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 0, "INV_Box_01", "=q6=#cb1#", "" }, { 7146, "INV_Misc_Key_01", "=q2=The Scarlet Key", "=ds=#e14#" }, }; + -- SMBrotherWystan = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; SMHerod = { { 7719, "INV_Helmet_25", "=q3=Raging Berserker's Helm", "=ds=#s1#, #a3#", "25%" }, { 7718, "INV_Shoulder_01", "=q3=Herod's Shoulder", "=ds=#s3#, #a3#", "25%" }, @@ -5068,6 +5108,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 0, "", "", "" }, { 51217, "INV_misc_ribbon_01", "=q2=Fashion Coin", "=ds=#e27#", "1%" }, }; + -- SMQuartermaster = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; SMFairbanks = { { 19507, "INV_Shoulder_27", "=q2=Inquisitor's Shawl", "=ds=#s3#, #a1#", "33%" }, { 19508, "INV_Bracer_11", "=q2=Branded Leather Bracers", "=ds=#s8#, #a2#", "33%" }, @@ -5099,6 +5147,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 0, "", "", "" }, { 51217, "INV_misc_ribbon_01", "=q2=Fashion Coin", "=ds=#e27#", "1%" }, }; + -- SMDukeDreadmoore = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; SMIronspine = { { 7688, "INV_Chest_Plate15", "=q3=Ironspine's Ribcage", "=ds=#s5#, #a3#", "33%" }, { 7687, "INV_Hammer_19", "=q3=Ironspine's Fist", "=ds=#h1#, #w6#", "33%" }, @@ -5682,6 +5738,14 @@ AtlasLoot_Data["AtlasLootItems"] = { { 6340, "INV_Misc_Pelt_Wolf_02", "=q2=Fenrus' Hide", "=ds=#s4#", "50%" }, { 3230, "INV_Bracer_07", "=q2=Black Wolf Bracers", "=ds=#s8#, #a2#", "50%" }, }; + -- SFKPrelate = { + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- { 0, "", "", "" }, + -- }; SFKArugalsVoidwalker = { { 5943, "INV_Bracer_03", "=q2=Rift Bracers", "=ds=#s8#, #a3#", "3%" }, }; From eaabf5b095eebaf1af724c64c35b409075d45814 Mon Sep 17 00:00:00 2001 From: Spit <19otari98@gmail.com> Date: Tue, 7 Jan 2025 03:12:45 +0300 Subject: [PATCH 2/4] 3.0.7 --- AtlasLoot.toc | 2 +- Core/AtlasLoot.lua | 1135 +++++++++++++++---------------- Core/AtlasLoot.xml | 4 + Core/PvP.lua | 18 +- Core/Sets.lua | 217 +++--- Core/TextParsing.lua | 18 +- Core/WishList.lua | 12 +- Images/druid.tga | Bin 0 -> 11890 bytes Images/hunter.tga | Bin 0 -> 8397 bytes Images/mage.tga | Bin 0 -> 11858 bytes Images/paladin.tga | Bin 0 -> 11413 bytes Images/priest.tga | Bin 0 -> 9063 bytes Images/rogue.tga | Bin 0 -> 10377 bytes Images/shaman.tga | Bin 0 -> 11401 bytes Images/warlock.tga | Bin 0 -> 11107 bytes Images/warrior.tga | Bin 0 -> 11747 bytes Instances/instances.en.lua | 18 +- Locale/locale.en.lua | 4 +- Sets/sets.lua | 72 +- TableRegister/loottables.en.lua | 105 +-- 20 files changed, 764 insertions(+), 841 deletions(-) create mode 100644 Images/druid.tga create mode 100644 Images/hunter.tga create mode 100644 Images/mage.tga create mode 100644 Images/paladin.tga create mode 100644 Images/priest.tga create mode 100644 Images/rogue.tga create mode 100644 Images/shaman.tga create mode 100644 Images/warlock.tga create mode 100644 Images/warrior.tga diff --git a/AtlasLoot.toc b/AtlasLoot.toc index 2a7e38e..28dc05b 100644 --- a/AtlasLoot.toc +++ b/AtlasLoot.toc @@ -3,7 +3,7 @@ ## Notes: Shows possible loot from dungeon bosses and other sources. ## Author: Shagu (pfUI update code), Lexie (Turtle WoW fixes/updates), Otari (overhaul/revamp, menu changes, bugfixes/updates) ## LegacyAuthor: Daviesh, Pompa (Turtle WoW World Bosses), Xerron (Turtle WoW World Bosses), Gurky (Turtle WoW 1.16/1.16.1 Dungeons) -## Version: 3.0.6 +## Version: 3.0.7 ## SavedVariables: AtlasLoot_updateavailable ## SavedVariablesPerCharacter: AtlasLootCharDB ## OptionalDeps: Alphamap, AtlasLoader, LootLink, ItemSync, HewdropLib, Ace2, EquipCompare, EQCompare diff --git a/Core/AtlasLoot.lua b/Core/AtlasLoot.lua index a5037a3..fce9a3a 100644 --- a/Core/AtlasLoot.lua +++ b/Core/AtlasLoot.lua @@ -127,7 +127,11 @@ function AtlasLootDefaultFrame_OnShow() --Set the item table to the loot table AtlasLoot_SetItemInfoFrame(pFrame); --Show the last displayed loot table - AtlasLoot_ShowBossLoot(AtlasLootCharDB.LastBoss, AtlasLootCharDB.LastBossText, pFrame); + if AtlasLootItemsFrame.refresh then + AtlasLoot_ShowBossLoot(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[3], pFrame) + else + AtlasLoot_ShowBossLoot(AtlasLootCharDB.LastBoss, AtlasLootCharDB.LastBossText, pFrame); + end end --[[ @@ -410,8 +414,11 @@ function AtlasLootDefaultFrame_OnHide() end AtlasLoot_Hewdrop:Close(1); AtlasLoot_HewdropSubMenu:Close(1); + if AtlasLootItemsFrame.refresh then + AtlasLootCharDB.LastBoss = AtlasLootItemsFrame.refresh[1] + AtlasLootCharDB.LastBossText = AtlasLootItemsFrame.refresh[3] + end end - --[[ AtlasLoot_SetupForAtlas: This function sets up the Atlas specific XML objects @@ -1138,9 +1145,11 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end end --This is a valid QuickLook, so show the UI objects - AtlasLoot_QuickLooks:Show(); - AtlasLootQuickLooksButton:Show(); - AtlasLootServerQueryButton:Hide(); + if dataID ~= "SearchResult" and dataID ~= "WishList" then + AtlasLoot_QuickLooks:Show(); + AtlasLootQuickLooksButton:Show(); + AtlasLootServerQueryButton:Hide(); + end --Insert the item description extra = dataSource[dataID][i][4]; extra = AtlasLoot_FixText(extra); @@ -1177,13 +1186,18 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end else --else show the texture + if strfind(dataSource[dataID][i][2], "^CLASS") then + local class = gsub(dataSource[dataID][i][2], "CLASS", "") + iconFrame:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\"..class) + else iconFrame:SetTexture("Interface\\Icons\\"..dataSource[dataID][i][2]); + end end if iconFrame:GetTexture() == nil then iconFrame:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark"); - itemButton.itemTexture = "Interface\\Icons\\INV_Misc_QuestionMark"; - else - itemButton.itemTexture = iconFrame:GetTexture(); + -- itemButton.itemTexture = "Interface\\Icons\\INV_Misc_QuestionMark"; + -- else + -- itemButton.itemTexture = iconFrame:GetTexture(); end --Set the name and description of the item nameFrame:SetText(text); @@ -1246,7 +1260,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end --Set prices for items, up to 5 different currencies can be used in combination if (dataID == "SearchResult" or dataID == "WishList") and dataSource[dataID][i][5] then - local wishDataID, wishDataSource = strsplit("|", dataSource[dataID][i][5]) + local wishDataID, wishDataSource = AtlasLoot_Strsplit("|", dataSource[dataID][i][5]) if wishDataSource == "AtlasLootRepItems" then if wishDataID and AtlasLoot_IsLootTableAvailable(wishDataID) then for _, v in ipairs(AtlasLoot_Data[wishDataSource][wishDataID]) do @@ -1311,25 +1325,25 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) if itemButton.container then border:Show() end - itemButton.iteminfo = {}; + --itemButton.iteminfo = {}; local spellID if isItem then - itemButton.iteminfo.idcore = dataSource[dataID][i][1]; - _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][1]); - itemButton.storeID = dataSource[dataID][i][1]; + --itemButton.iteminfo.idcore = dataSource[dataID][i][1]; + --_, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][1]); + --itemButton.storeID = dataSource[dataID][i][1]; itemButton.dressingroomID = dataSource[dataID][i][1]; - itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() + --itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() elseif isEnchant then spellID = tonumber(string.sub(dataSource[dataID][i][1], 2)); - itemButton.iteminfo.idcore = dataSource[dataID][i][2]; - _, _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][2]); - itemButton.storeID = dataSource[dataID][i][2]; + --itemButton.iteminfo.idcore = dataSource[dataID][i][2]; + --_, _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][2]); + --itemButton.storeID = dataSource[dataID][i][2]; if GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] and GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= nil and GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= "" then itemButton.dressingroomID = GetSpellInfoAtlasLootDB["enchants"][spellID]["item"]; else itemButton.dressingroomID = spellID; end - itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() + --itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() if GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= nil and GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= "" then if not GetItemInfo(GetSpellInfoAtlasLootDB["enchants"][spellID]["item"]) then GameTooltip:SetHyperlink("item:"..GetSpellInfoAtlasLootDB["enchants"][spellID]["item"]..":0:0:0"); @@ -1337,11 +1351,11 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end elseif isSpell then spellID = tonumber(string.sub(dataSource[dataID][i][1], 2)); - itemButton.iteminfo.idcore = dataSource[dataID][i][1]; - _, _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][1]); - itemButton.storeID = dataSource[dataID][i][1]; + --itemButton.iteminfo.idcore = dataSource[dataID][i][1]; + --_, _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][1]); + --itemButton.storeID = dataSource[dataID][i][1]; itemButton.dressingroomID = GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"]; - itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() + --itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() if GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"] ~= "" then if not GetItemInfo(GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"]) then GameTooltip:SetHyperlink("item:"..GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"]..":0:0:0"); @@ -1370,7 +1384,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) local droprate = dataSource[dataID][i][5]; if droprate and string.find(droprate, "%%") then itemButton.droprate = droprate end end - itemButton.i = 1; + --itemButton.i = 1; itemButton:Show(); --If the item is not in cache, querying the server may cause a disconnect --Show a red box around the item to indicate this to the user @@ -1418,8 +1432,8 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) --Hide navigation buttons if we click Quicklooks in Atlas if AtlasFrame and AtlasFrame:IsVisible() then if this.sourcePage then - local _, dSource = strsplit("|", this.sourcePage) - if dSource == "AtlasLootItems" then + local _, dataSource = AtlasLoot_Strsplit("|", this.sourcePage) + if dataSource == "AtlasLootItems" then AtlasLootItemsFrame_BACK:Hide() AtlasLootItemsFrame_NEXT:Hide() AtlasLootItemsFrame_PREV:Hide() @@ -1442,6 +1456,50 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) else AtlasLootItemsFrame_CloseButton:Hide(); end + local subMenu = nil + local bossName = "" + local category = "" + for k, v in pairs(AtlasLoot_HewdropDown_SubTables) do + if subMenu then + break + end + for i, n in pairs(AtlasLoot_HewdropDown_SubTables[k]) do + if n[2] == dataID then + subMenu = AtlasLoot_HewdropDown_SubTables[k] + bossName = n[1] + -- for k1, v1 in pairs(AtlasLoot_HewdropDown) do + -- for k2, v2 in pairs(AtlasLoot_HewdropDown[k1]) do + -- for k3, v3 in pairs(AtlasLoot_HewdropDown[k1][k2]) do + -- if type(v3[1]) == "string" then + -- if v3[2] == k then + -- category = v3[1] + -- break + -- end + -- elseif type(v3[1] == "table") then + -- for k4, v4 in pairs(v3[1]) do + -- if v4[2] == k then + -- category = v4[1] + -- break + -- end + -- end + -- end + -- end + -- end + -- end + break + end + end + end + if subMenu then + AtlasLoot_HewdropSubMenuRegister(subMenu) + AtlasLootDefaultFrame_SubMenu:Enable() + AtlasLootDefaultFrame_SelectedTable:SetText(bossName) + AtlasLootDefaultFrame_SelectedTable:Show() + else + AtlasLootDefaultFrame_SubMenu:Disable() + AtlasLootDefaultFrame_SelectedTable:Hide() + end + --AtlasLootDefaultFrame_SelectedCategory:SetText(category) --Anchor the item frame where it is supposed to be AtlasLoot_SetItemInfoFrame(pFrame); AtlasLootItemsFrameContainer:Hide() @@ -1691,38 +1749,32 @@ function AtlasLoot_HewdropRegister() ) end -function AtlasLoot_OpenMenu(menu_name) +function AtlasLoot_OpenMenu(menuName) AtlasLoot_QuickLooks:Hide(); AtlasLootQuickLooksButton:Hide(); AtlasLootServerQueryButton:Hide(); - AtlasLootDefaultFrame_SelectedCategory:SetText(menu_name) + AtlasLootDefaultFrame_SelectedCategory:SetText(menuName) AtlasLootDefaultFrame_SubMenu:Disable(); AtlasLootDefaultFrame_SelectedTable:SetText(""); AtlasLootDefaultFrame_SelectedTable:Show(); AtlasLootCharDB.LastBoss = this.lootpage; - AtlasLootCharDB.LastBossText = menu_name; - if menu_name == "Crafting" then + AtlasLootCharDB.LastBossText = menuName; + if menuName == "Crafting" then AtlasLoot_ShowItemsFrame("CRAFTINGMENU", "dummy", "dummy", pFrame) - CloseDropDownMenus() - elseif menu_name == "PvP Rewards" then + elseif menuName == "PvP Rewards" then AtlasLoot_ShowItemsFrame("PVPMENU", "dummy", "dummy", pFrame) - CloseDropDownMenus() - elseif menu_name == "World Events" then + elseif menuName == "World Events" then AtlasLoot_ShowItemsFrame("WORLDEVENTMENU", "dummy", "dummy", pFrame) - CloseDropDownMenus() - elseif menu_name == "Collections" then + elseif menuName == "Collections" then AtlasLoot_ShowItemsFrame("SETMENU", "dummy", "dummy", pFrame) - CloseDropDownMenus() - elseif menu_name == "Factions" then + elseif menuName == "Factions" then AtlasLoot_ShowItemsFrame("REPMENU", "dummy", "dummy", pFrame) - CloseDropDownMenus() - elseif menu_name == "World Bosses" then + elseif menuName == "World Bosses" then AtlasLoot_ShowItemsFrame("WORLDBOSSMENU", "dummy", "dummy", pFrame) - CloseDropDownMenus() - elseif menu_name == "Dungeons & Raids" then + elseif menuName == "Dungeons & Raids" then AtlasLoot_ShowItemsFrame("DUNGEONSMENU1", "dummy", "dummy", pFrame) - CloseDropDownMenus() end + CloseDropDownMenus() end --[[ @@ -1793,16 +1845,18 @@ AtlasLoot_NavButton_OnClick: Called when <-, -> or 'Back' are pressed and calls up the appropriate loot page ]] function AtlasLoot_NavButton_OnClick() - if AtlasLootCharDB.LastBoss == "DUNGEONSMENU1" then - AtlasLoot_DungeonsMenu2() - AtlasLootDefaultFrame_SubMenu:Disable(); - return - elseif AtlasLootCharDB.LastBoss == "DUNGEONSMENU2" then - AtlasLoot_DungeonsMenu1() - AtlasLootDefaultFrame_SubMenu:Disable(); - return - end - if AtlasLootItemsFrame.refresh and AtlasLootItemsFrame.refresh[2] and AtlasLootItemsFrame.refresh[4] then + if AtlasLootItemsFrame.refresh and AtlasLootItemsFrame.refresh[1] and AtlasLootItemsFrame.refresh[2] and AtlasLootItemsFrame.refresh[4] then + if AtlasLootItemsFrame.refresh[1] == "DUNGEONSMENU1" then + AtlasLootItemsFrame.refresh[1] = "DUNGEONSMENU2" + AtlasLoot_DungeonsMenu2() + AtlasLootDefaultFrame_SubMenu:Disable(); + return + elseif AtlasLootItemsFrame.refresh[1] == "DUNGEONSMENU2" then + AtlasLootItemsFrame.refresh[1] = "DUNGEONSMENU1" + AtlasLoot_DungeonsMenu1() + AtlasLootDefaultFrame_SubMenu:Disable(); + return + end if string.sub(this.lootpage, 1, 16) == "SearchResultPage" then AtlasLoot_ShowItemsFrame("SearchResult", this.lootpage, string.format((AL["Search Result: %s"]), AtlasLootCharDB.LastSearchedText or ""), AtlasLootItemsFrame.refresh[4]); elseif string.sub(this.lootpage, 1, 12) == "WishListPage" then @@ -2107,7 +2161,7 @@ function AtlasLootMinimapButton_SetPosition(v) AtlasLootMinimapButton_UpdatePosition(); end -function strsplit(delim, str, maxNb, onlyLast) +function AtlasLoot_Strsplit(delim, str, maxNb, onlyLast) -- Eliminate bad cases... if string.find(str, delim) == nil then return { str } @@ -2139,171 +2193,166 @@ end --This is a multi-layer table defining the main loot listing. --Entries have the text to display, loot table or sub table to link to and if the link is to a loot table or sub table AtlasLoot_HewdropDown = { - [1] = { - [AL["Dungeons & Raids"]] = { - [1] = {{ AL["[13-18] Ragefire Chasm"], "RagefireChasm", "Submenu" },}, - [2] = {{ AL["[17-24] Wailing Caverns"], "WailingCaverns", "Submenu" },}, - [3] = {{ AL["[17-24] The Deadmines"], "Deadmines", "Submenu" },}, - [4] = {{ AL["[22-30] Shadowfang Keep"], "ShadowfangKeep", "Submenu" },}, - [5] = {{ AL["[23-32] Blackfathom Deeps"], "BlackfathomDeeps", "Submenu" },}, - [6] = {{ AL["[22-30] The Stockade"], "TheStockade", "Submenu" },}, - [7] = {{ AL["[29-38] Gnomeregan"], "Gnomeregan", "Submenu" },}, - [8] = {{ AL["[29-38] Razorfen Kraul"], "RazorfenKraul", "Submenu" },}, - [9] = {{ AL["[32-38] The Crescent Grove"], "TheCrescentGrove", "Submenu" },}, - [10] = {[AL["[27-45] Scarlet Monastery"]] = { + {[AL["Dungeons & Raids"]] = { + {{ AL["[13-18] Ragefire Chasm"], "RagefireChasm", "Submenu" },}, + {{ AL["[17-24] Wailing Caverns"], "WailingCaverns", "Submenu" },}, + {{ AL["[17-24] The Deadmines"], "Deadmines", "Submenu" },}, + {{ AL["[22-30] Shadowfang Keep"], "ShadowfangKeep", "Submenu" },}, + {{ AL["[23-32] Blackfathom Deeps"], "BlackfathomDeeps", "Submenu" },}, + {{ AL["[22-30] The Stockade"], "TheStockade", "Submenu" },}, + {{ AL["[29-38] Gnomeregan"], "Gnomeregan", "Submenu" },}, + {{ AL["[29-38] Razorfen Kraul"], "RazorfenKraul", "Submenu" },}, + {{ AL["[32-38] The Crescent Grove"], "TheCrescentGrove", "Submenu" },}, + {[ AL["[27-45] Scarlet Monastery"]] = { { AL["[27-36] Scarlet Monastery (Graveyard)"], "SMGraveyard", "Submenu" }, { AL["[28-39] Scarlet Monastery (Library)"], "SMLibrary", "Submenu" }, { AL["[32-41] Scarlet Monastery (Armory)"], "SMArmory", "Submenu" }, { AL["[35-45] Scarlet Monastery (Cathedral)"], "SMCathedral", "Submenu" }, },}, - [11] = {{ AL["[36-46] Razorfen Downs"], "RazorfenDowns", "Submenu" },}, - [12] = {{ AL["[40-51] Uldaman"], "Uldaman", "Submenu" },}, - [13] = {{ AL["[42-50] Gilneas City"], "GilneasCity", "Submenu" },}, - [14] = {{ AL["[45-55] Maraudon"], "Maraudon", "Submenu" },}, - [15] = {{ AL["[44-54] Zul'Farrak"], "ZulFarrak", "Submenu" },}, - [16] = {{ AL["[50-60] The Sunken Temple"], "SunkenTemple", "Submenu" },}, - [17] = {{ AL["[50-60] Hateforge Quarry"], "HateforgeQuarry", "Submenu" },}, - [18] = {{ AL["[52-60] Blackrock Depths"], "BlackrockDepths", "Submenu" },}, - [19] = {[AL["[55-60] Dire Maul"]] = { + {{ AL["[36-46] Razorfen Downs"], "RazorfenDowns", "Submenu" },}, + {{ AL["[40-51] Uldaman"], "Uldaman", "Submenu" },}, + {{ AL["[42-50] Gilneas City"], "GilneasCity", "Submenu" },}, + {{ AL["[45-55] Maraudon"], "Maraudon", "Submenu" },}, + {{ AL["[44-54] Zul'Farrak"], "ZulFarrak", "Submenu" },}, + {{ AL["[50-60] The Sunken Temple"], "SunkenTemple", "Submenu" },}, + {{ AL["[50-60] Hateforge Quarry"], "HateforgeQuarry", "Submenu" },}, + {{ AL["[52-60] Blackrock Depths"], "BlackrockDepths", "Submenu" },}, + {[AL["[55-60] Dire Maul"]] = { { AL["[55-60] Dire Maul (East)"], "DireMaulEast", "Submenu" }, { AL["[57-60] Dire Maul (West)"], "DireMaulWest", "Submenu" }, { AL["[57-60] Dire Maul (North)"], "DireMaulNorth", "Submenu" }, },}, - [20] = {{ AL["[58-60] Scholomance"], "Scholomance", "Submenu" },}, - [21] = {{ AL["[58-60] Stratholme"], "Stratholme", "Submenu" },}, - [22] = {{ AL["[55-60] Lower Blackrock Spire"], "LowerBlackrock", "Submenu" },}, - [23] = {{ AL["[58-60] Upper Blackrock Spire"], "UpperBlackrock", "Submenu" },}, - [24] = {{ AL["[58-60] Karazhan Crypt"], "KarazhanCrypt", "Submenu" },}, - [25] = {{ AL["[60] Caverns of Time: Black Morass"], "CavernsOfTimeBlackMorass", "Submenu" },}, - [26] = {{ AL["[60] Stormwind Vault"], "StormwindVault", "Submenu" },}, - [27] = {{ AL["[RAID] Zul'Gurub"], "ZulGurub", "Submenu" },}, - [28] = {{ AL["[RAID] Ruins of Ahn'Qiraj"], "RuinsofAQ", "Submenu" },}, - [29] = {{ AL["[RAID] Molten Core"], "MoltenCore", "Submenu" },}, - [30] = {{ AL["[RAID] Onyxia's Lair"], "Onyxia", "Submenu" },}, - [31] = {{ AL["[RAID] Lower Karazhan Halls"], "LowerKara", "Submenu" },}, - [32] = {{ AL["[RAID] Blackwing Lair"], "BlackwingLair", "Submenu" },}, - [33] = {{ AL["[RAID] Emerald Sanctum"], "EmeraldSanctum", "Submenu" },}, - [34] = {{ AL["[RAID] Temple of Ahn'Qiraj"], "TempleofAQ", "Submenu" },}, - [35] = {{ AL["[RAID] Naxxramas"], "Naxxramas", "Submenu" },}, + {{ AL["[58-60] Scholomance"], "Scholomance", "Submenu" },}, + {{ AL["[58-60] Stratholme"], "Stratholme", "Submenu" },}, + {{ AL["[55-60] Lower Blackrock Spire"], "LowerBlackrock", "Submenu" },}, + {{ AL["[58-60] Upper Blackrock Spire"], "UpperBlackrock", "Submenu" },}, + {{ AL["[58-60] Karazhan Crypt"], "KarazhanCrypt", "Submenu" },}, + {{ AL["[60] Caverns of Time: Black Morass"], "CavernsOfTimeBlackMorass", "Submenu" },}, + {{ AL["[60] Stormwind Vault"], "StormwindVault", "Submenu" },}, + {{ AL["[RAID] Zul'Gurub"], "ZulGurub", "Submenu" },}, + {{ AL["[RAID] Ruins of Ahn'Qiraj"], "RuinsofAQ", "Submenu" },}, + {{ AL["[RAID] Molten Core"], "MoltenCore", "Submenu" },}, + {{ AL["[RAID] Onyxia's Lair"], "Onyxia", "Submenu" },}, + {{ AL["[RAID] Lower Karazhan Halls"], "LowerKara", "Submenu" },}, + {{ AL["[RAID] Blackwing Lair"], "BlackwingLair", "Submenu" },}, + {{ AL["[RAID] Emerald Sanctum"], "EmeraldSanctum", "Submenu" },}, + {{ AL["[RAID] Temple of Ahn'Qiraj"], "TempleofAQ", "Submenu" },}, + {{ AL["[RAID] Naxxramas"], "Naxxramas", "Submenu" },}, }, }, - [2] = { [AL["World Bosses"]] = { - [1] = {{AL["Azuregos"], "AAzuregos", "Table" },}, - [2] = {{AL["Emeriss"], "DEmeriss", "Table" },}, - [3] = {{AL["Lethon"], "DLethon", "Table" },}, - [4] = {{AL["Taerar"], "DTaerar", "Table" },}, - [5] = {{AL["Ysondre"], "DYsondre", "Table" },}, - [6] = {{AL["Lord Kazzak"], "KKazzak", "Table" },}, - [7] = {{AL["Nerubian Overseer"], "Nerubian", "Table" },}, - [8] = {{AL["Dark Reaver of Karazhan"], "Reaver", "Table" },}, - [9] = {{AL["Ostarius"], "Ostarius", "Table" },}, - [10] = {{AL["Concavius"], "Concavius", "Table" },}, - [11] = {{AL["Moo"], "CowKing", "Table" },}, - [12] = {{"Cla'ckora", "Clackora", "Table"},}, + {[AL["World Bosses"]] = { + {{AL["Azuregos"], "AAzuregos", "Table" },}, + {{AL["Emeriss"], "DEmeriss", "Table" },}, + {{AL["Lethon"], "DLethon", "Table" },}, + {{AL["Taerar"], "DTaerar", "Table" },}, + {{AL["Ysondre"], "DYsondre", "Table" },}, + {{AL["Lord Kazzak"], "KKazzak", "Table" },}, + {{AL["Nerubian Overseer"], "Nerubian", "Table" },}, + {{AL["Dark Reaver of Karazhan"], "Reaver", "Table" },}, + {{AL["Ostarius"], "Ostarius", "Table" },}, + {{AL["Concavius"], "Concavius", "Table" },}, + {{AL["Moo"], "CowKing", "Table" },}, + {{AL["Cla'ckora"], "Clackora", "Table"},}, }, }, - - [3] = {[AL["PvP Rewards"]] = { - [1] = {{ AL["PvP Armor Sets"], "PVPSET", "Table" },}, - [2] = {{ AL["PvP Accessories"], "PvP60Accessories1", "Table" },}, - [3] = {{ AL["Rank 14 Weapons"], "PVPWeapons1", "Table" },}, - [4] = {{ AL["PvP Mounts"], "PvPMountsPvP", "Table" },}, - [5] = {{ AL["Blood Ring"], "BRRepMenu", "Table" },}, - [6] = {{ AL["Alterac Valley"], "AVRepMenu", "Table" },}, - [7] = {{ AL["Arathi Basin"], "ABRepMenu", "Table" },}, - [8] = {{ AL["Warsong Gulch"], "WSGRepMenu", "Table" },}, + {[AL["PvP Rewards"]] = { + {{ AL["PvP Armor Sets"], "PVPSET", "Table" },}, + {{ AL["PvP Accessories"], "PvP60Accessories1", "Table" },}, + {{ AL["Rank 14 Weapons"], "PVPWeapons1", "Table" },}, + {{ AL["PvP Mounts"], "PvPMountsPvP", "Table" },}, + {{ AL["Blood Ring"], "BRRepMenu", "Table" },}, + {{ AL["Alterac Valley"], "AVRepMenu", "Table" },}, + {{ AL["Arathi Basin"], "ABRepMenu", "Table" },}, + {{ AL["Warsong Gulch"], "WSGRepMenu", "Table" },}, }, }, - [4] = {[AL["Collections"]] = { - [1] = {{ AL["Sets"], "PRE60SET", "Table" },}, - [2] = {{ AL["Zul'Gurub Sets"], "ZGSET", "Table" },}, - [3] = {{ AL["Ruins of Ahn'Qiraj Sets"], "AQ20SET", "Table" },}, - [4] = {{ AL["Temple of Ahn'Qiraj Sets"], "AQ40SET", "Table" },}, - [5] = {{ AL["Karazhan Sets"], "KARASET", "Table" },}, - [6] = {{ AL["Dungeon 1/2 Sets"], "T0SET", "Table" },}, - [7] = {{ AL["Tier 1 Sets"], "T1SET", "Table" },}, - [8] = {{ AL["Tier 2 Sets"], "T2SET", "Table" },}, - [9] = {{ AL["Tier 3 Sets"], "T3SET", "Table" },}, - [10] = {{ AL["Legendary Items"], "Legendaries", "Table" },}, - [11] = {{ AL["World Epics"], "WORLDEPICS", "Table" },}, - [12] = {{ AL["Rare Pets"], "RarePets1", "Table" },}, - [13] = {{ AL["Rare Mounts"], "RareMounts", "Table" },}, - [14] = {{ AL["Fashion"], "DonationRewards2", "Table" },}, - [15] = {{ AL["Tabards"], "Tabards", "Table" },}, + {[AL["Collections"]] = { + {{ AL["Sets"], "PRE60SET", "Table" },}, + {{ AL["Zul'Gurub Sets"], "ZGSET", "Table" },}, + {{ AL["Ruins of Ahn'Qiraj Sets"], "AQ20SET", "Table" },}, + {{ AL["Temple of Ahn'Qiraj Sets"], "AQ40SET", "Table" },}, + {{ AL["Karazhan Sets"], "KARASET", "Table" },}, + {{ AL["Dungeon 1/2 Sets"], "T0SET", "Table" },}, + {{ AL["Tier 1 Sets"], "T1SET", "Table" },}, + {{ AL["Tier 2 Sets"], "T2SET", "Table" },}, + {{ AL["Tier 3 Sets"], "T3SET", "Table" },}, + {{ AL["Legendary Items"], "Legendaries", "Table" },}, + {{ AL["World Epics"], "WORLDEPICS", "Table" },}, + {{ AL["Rare Pets"], "RarePets1", "Table" },}, + {{ AL["Rare Mounts"], "RareMounts", "Table" },}, + {{ AL["Fashion"], "DonationRewards2", "Table" },}, + {{ AL["Tabards"], "Tabards", "Table" },}, --[15] = {{ AL["Old Mounts"], "OldMounts", "Table" },}, --[16] = {{ AL["Unobtainable Mounts"], "UnobMounts", "Table" },}, }, }, - [5] = { - [AL["Factions"]] = { - [1] = {{ AL["Argent Dawn"], "Argent1" , "Table" },}, - [2] = {{ AL["Bloodsail Buccaneers"], "Bloodsail1", "Table" },}, - [3] = {{ AL["Brood of Nozdormu"], "AQBroodRings", "Table" },}, - [4] = {{ AL["Cenarion Circle"], "Cenarion1", "Table" }}, - [5] = {{ AL["Dalaran"], "Dalaran", "Table" },}, - [6] = {{ AL["Darkmoon Faire"], "Darkmoon", "Table" },}, - [7] = {{ AL["Darkspear Trolls"], "DarkspearTrolls", "Table" },}, - [8] = {{ AL["Darnassus"], "Darnassus", "Table" },}, - [9] = {{ AL["Durotar Labor Union"], "DurotarLaborUnion", "Table" },}, - [10] = {{ AL["Frostwolf Clan"], "Frostwolf1", "Table" },}, - [11] = {{ AL["Gelkis Clan Centaur"], "GelkisClan1", "Table" },}, - [12] = {{ AL["Gnomeregan Exiles"], "GnomereganExiles", "Table" },}, - [13] = {{ AL["Hydraxian Waterlords"], "WaterLords1", "Table" },}, - [14] = {{ AL["Ironforge"], "Ironforge", "Table" },}, - [15] = {{ AL["Magram Clan Centaur"], "MagramClan1", "Table" },}, - [16] = {{ AL["Orgrimmar"], "Orgrimmar", "Table" },}, - [17] = {{ AL["Revantusk Trolls"], "Revantusk", "Table" },}, - [18] = {{ AL["Silvermoon Remnant"], "Helf", "Table" },}, - [19] = {{ AL["Stormpike Guard"], "Stormpike1", "Table" },}, - [20] = {{ AL["Stormwind"], "Stormwind", "Table" },}, - [21] = {{ AL["Thorium Brotherhood"], "Thorium1", "Table" },}, - [22] = {{ AL["Thunder Bluff"], "ThunderBluff", "Table" },}, - [23] = {{ AL["Timbermaw Hold"], "Timbermaw", "Table" },}, - [24] = {{ AL["Undercity"], "Undercity", "Table" },}, - [25] = {{ AL["Wardens of Time"], "Wardens1", "Table" },}, - [26] = {{ AL["Wildhammer Clan"], "Wildhammer", "Table" },}, - [27] = {{ AL["Wintersaber Trainers"], "Wintersaber1", "Table" },}, - [28] = {{ AL["Zandalar Tribe"], "Zandalar1", "Table" },}, + {[AL["Factions"]] = { + {{ AL["Argent Dawn"], "Argent1" , "Table" },}, + {{ AL["Bloodsail Buccaneers"], "Bloodsail1", "Table" },}, + {{ AL["Brood of Nozdormu"], "AQBroodRings", "Table" },}, + {{ AL["Cenarion Circle"], "Cenarion1", "Table" }}, + {{ AL["Dalaran"], "Dalaran", "Table" },}, + {{ AL["Darkmoon Faire"], "Darkmoon", "Table" },}, + {{ AL["Darkspear Trolls"], "DarkspearTrolls", "Table" },}, + {{ AL["Darnassus"], "Darnassus", "Table" },}, + {{ AL["Durotar Labor Union"], "DurotarLaborUnion", "Table" },}, + {{ AL["Frostwolf Clan"], "Frostwolf1", "Table" },}, + {{ AL["Gelkis Clan Centaur"], "GelkisClan1", "Table" },}, + {{ AL["Gnomeregan Exiles"], "GnomereganExiles", "Table" },}, + {{ AL["Hydraxian Waterlords"], "WaterLords1", "Table" },}, + {{ AL["Ironforge"], "Ironforge", "Table" },}, + {{ AL["Magram Clan Centaur"], "MagramClan1", "Table" },}, + {{ AL["Orgrimmar"], "Orgrimmar", "Table" },}, + {{ AL["Revantusk Trolls"], "Revantusk", "Table" },}, + {{ AL["Silvermoon Remnant"], "Helf", "Table" },}, + {{ AL["Stormpike Guard"], "Stormpike1", "Table" },}, + {{ AL["Stormwind"], "Stormwind", "Table" },}, + {{ AL["Thorium Brotherhood"], "Thorium1", "Table" },}, + {{ AL["Thunder Bluff"], "ThunderBluff", "Table" },}, + {{ AL["Timbermaw Hold"], "Timbermaw", "Table" },}, + {{ AL["Undercity"], "Undercity", "Table" },}, + {{ AL["Wardens of Time"], "Wardens1", "Table" },}, + {{ AL["Wildhammer Clan"], "Wildhammer", "Table" },}, + {{ AL["Wintersaber Trainers"], "Wintersaber1", "Table" },}, + {{ AL["Zandalar Tribe"], "Zandalar1", "Table" },}, }, }, - - [6] = {[AL["World Events"]] = { - [1] = {{ AL["Abyssal Council"], "AbyssalTemplars", "Table" },}, - [2] = {{ AL["Children's Week"], "ChildrensWeek", "Table" },}, - [3] = {{ AL["Elemental Invasion"], "ElementalInvasion", "Table" },}, - [4] = {{ AL["Feast of Winter Veil"], "Winterviel1", "Table" },}, - [5] = {{ AL["Gurubashi Arena"], "GurubashiArena", "Table" },}, - [6] = {{ AL["Hallow's End"], "Halloween1", "Table" },}, - [7] = {{ AL["Harvest Festival"], "HarvestFestival", "Table" },}, - [8] = {{ AL["Love is in the Air"], "Valentineday", "Table" },}, - [9] = {{ AL["Lunar Festival"], "LunarFestival1", "Table" },}, - [10] = {{ AL["Midsummer Fire Festival"], "MidsummerFestival", "Table" },}, - [11] = {{ AL["Noblegarden"], "Noblegarden", "Table" },}, - [12] = {{ AL["Scourge Invasion"], "ScourgeInvasionEvent1", "Table" },}, - [13] = {{ AL["Stranglethorn Fishing Extravaganza"], "FishingExtravaganza", "Table" },}, + {[AL["World Events"]] = { + {{ AL["Abyssal Council"], "AbyssalTemplars", "Table" },}, + {{ AL["Children's Week"], "ChildrensWeek", "Table" },}, + {{ AL["Elemental Invasion"], "ElementalInvasion", "Table" },}, + {{ AL["Feast of Winter Veil"], "Winterviel1", "Table" },}, + {{ AL["Gurubashi Arena"], "GurubashiArena", "Table" },}, + {{ AL["Hallow's End"], "Halloween1", "Table" },}, + {{ AL["Harvest Festival"], "HarvestFestival", "Table" },}, + {{ AL["Love is in the Air"], "Valentineday", "Table" },}, + {{ AL["Lunar Festival"], "LunarFestival1", "Table" },}, + {{ AL["Midsummer Fire Festival"], "MidsummerFestival", "Table" },}, + {{ AL["Noblegarden"], "Noblegarden", "Table" },}, + {{ AL["Scourge Invasion"], "ScourgeInvasionEvent1", "Table" },}, + {{ AL["Stranglethorn Fishing Extravaganza"], "FishingExtravaganza", "Table" },}, }, }, - [7] = { - [AL["Crafting"]] = { - [1] = { { AL["Alchemy"], "ALCHEMYMENU", "Table" }, }, - [2] = { { (AL["Blacksmithing"]), "SMITHINGMENU", "Table" }, }, - [3] = { { (AL["Enchanting"]), "ENCHANTINGMENU", "Table" }, }, - [4] = { { (AL["Engineering"]), "ENGINEERINGMENU", "Table" }, }, - [5] = { { (AL["Herbalism"]), "Herbalism1", "Table" }, }, - [6] = { { (AL["Leatherworking"]), "LEATHERWORKINGMENU", "Table" }, }, - [7] = { { (AL["Jewelcrafting"]), "JEWELCRAFTMENU", "Table" }, }, - [8] = { { (AL["Mining"]), "Mining1", "Table" }, }, - [9] = { { (AL["Tailoring"]), "TAILORINGMENU", "Table" }, }, - [10] = { { (AL["Cooking"]), "COOKINGMENU", "Table" }, }, - [11] = { { (AL["First Aid"]), "FirstAid1", "Table" }, }, - [12] = { { (AL["Survival"]), "Survival1", "Table" }, }, - [13] = { { (AL["Gardening"]), "Survival2", "Table" }, }, - [14] = { { (AL["Poisons"]), "Poisons1", "Table" }, }, - [15] = { { AL["Crafted Sets"], "CRAFTSET", "Table" },}, - [16] = { { AL["Crafted Epic Weapons"], "CraftedWeapons1", "Table" }, }, + {[AL["Crafting"]] = { + { { AL["Alchemy"], "ALCHEMYMENU", "Table" }, }, + { { (AL["Blacksmithing"]), "SMITHINGMENU", "Table" }, }, + { { (AL["Enchanting"]), "ENCHANTINGMENU", "Table" }, }, + { { (AL["Engineering"]), "ENGINEERINGMENU", "Table" }, }, + { { (AL["Herbalism"]), "Herbalism1", "Table" }, }, + { { (AL["Leatherworking"]), "LEATHERWORKINGMENU", "Table" }, }, + { { (AL["Jewelcrafting"]), "JEWELCRAFTMENU", "Table" }, }, + { { (AL["Mining"]), "Mining1", "Table" }, }, + { { (AL["Tailoring"]), "TAILORINGMENU", "Table" }, }, + { { (AL["Cooking"]), "COOKINGMENU", "Table" }, }, + { { (AL["First Aid"]), "FirstAid1", "Table" }, }, + { { (AL["Survival"]), "Survival1", "Table" }, }, + { { (AL["Gardening"]), "Survival2", "Table" }, }, + { { (AL["Poisons"]), "Poisons1", "Table" }, }, + { { AL["Crafted Sets"], "CRAFTSET", "Table" },}, + { { AL["Crafted Epic Weapons"], "CraftedWeapons1", "Table" }, }, }, }, - [8] = {{ "Rare Spawns", "RareSpawns", "Submenu" },}, + {{ "Rare Spawns", "RareSpawns", "Submenu" },}, }; --This table defines all the subtables needed for the full menu @@ -2799,7 +2848,7 @@ AtlasLoot_HewdropDown_SubTables = { { AL["Ostarius"], "Ostarius" }, { AL["Concavius"], "Concavius" }, { AL["Moo"], "CowKing" }, - { "Cla'ckora", "Clackora" }, + { AL["Cla'ckora"], "Clackora" }, }, ["RareSpawns"] = { { "|cffffffff[17]|cffffd200 Earthcaller Rezengal |cffffffff(Stonetalon)", "EarthcallerRezengal" }, @@ -2840,292 +2889,291 @@ AtlasLoot_HewdropDown_SubTables = { { "|cffffffff[??]|cffffd200 Widow of the Woods |cffffffff(Gilneas)", "WidowoftheWoods" }, { "|cffffffff[??]|cffffd200 M-0L1Y |cffffffff(???)", "M0L1Y" }, }, - ["AbyssalCouncil"] = { - { AL["Abyssal Council"].." - "..AL["Templars"], "AbyssalTemplars" }, - { AL["Abyssal Council"].." - "..AL["Dukes"], "AbyssalDukes" }, - { AL["Abyssal Council"].." - "..AL["High Council"], "AbyssalLords" }, - }, - ["Winterviel"] = { - { AL["Feast of Winter Veil"], "Winterviel1"}, - { AL["Feast of Winter Veil"], "Winterviel2"}, - }, - ["Factions"] = { - { AL["Argent Dawn"], "Argent1" }, - { AL["Bloodsail Buccaneers"], "Bloodsail1" }, - { AL["Brood of Nozdormu"], "AQBroodRings" }, - { AL["Cenarion Circle"], "Cenarion1" }, - { AL["Dalaran"], "Dalaran" }, - { AL["Darkmoon Faire"], "Darkmoon" }, - { AL["Darkspear Trolls"], "DarkspearTrolls" }, - { AL["Darnassus"], "Darnassus" }, - { AL["Durotar Labor Union"], "DurotarLaborUnion" }, - { AL["Frostwolf Clan"], "Frostwolf1" }, - { AL["Gelkis Clan Centaur"], "GelkisClan1" }, - { AL["Gnomeregan Exiles"], "GnomereganExiles" }, - { AL["Hydraxian Waterlords"], "WaterLords1" }, - { AL["Ironforge"], "Ironforge" }, - { AL["Magram Clan Centaur"], "MagramClan1" }, - { AL["Orgrimmar"], "Orgrimmar" }, - { AL["Revantusk Trolls"], "Revantusk" }, - { AL["Silvermoon Remnant"], "Helf" }, - { AL["Stormpike Guard"], "Stormpike1" }, - { AL["Stormwind"], "Stormwind" }, - { AL["Thorium Brotherhood"], "Thorium1" }, - { AL["Thunder Bluff"], "ThunderBluff" }, - { AL["Timbermaw Hold"], "Timbermaw" }, - { AL["Undercity"], "Undercity" }, - { AL["Wardens of Time"], "Wardens1" }, - { AL["Wildhammer Clan"], "Wildhammer" }, - { AL["Wintersaber Trainers"], "Wintersaber1" }, - { AL["Zandalar Tribe"], "Zandalar1" }, - }, - ["BoEWorldEpics"] = { - { AtlasLoot_TableNames["WorldEpics3"][1], "WorldEpics3" }, - { AtlasLoot_TableNames["WorldEpics2"][1], "WorldEpics2" }, - { AtlasLoot_TableNames["WorldEpics1"][1], "WorldEpics1" }, - }, - ["CraftSetBlacksmith"] = { - { AL["Steel Plate"], "SteelPlate" }, - { AL["Imperial Plate"], "ImperialPlate" }, - { AL["The Darksoul"], "TheDarksoul" }, - { AL["Bloodsoul Embrace"], "BloodsoulEmbrace" }, - }, - ["CraftSetLeatherwork"] = { - { AL["Grifter's Armor"], "GriftersArmor" }, - { AL["Primalist's Trappings"], "PrimalistsTrappings" }, - { AL["Volcanic Armor"], "VolcanicArmor" }, - { AL["Ironfeather Armor"], "IronfeatherArmor" }, - { AL["Stormshroud Armor"], "StormshroudArmor" }, - { AL["Devilsaur Armor"], "DevilsaurArmor" }, - { AL["Blood Tiger Harness"], "BloodTigerH" }, - { AL["Primal Batskin"], "PrimalBatskin" }, - { AL["Red Dragon Mail"], "RedDragonM" }, - { AL["Green Dragon Mail"], "GreenDragonM" }, - { AL["Blue Dragon Mail"], "BlueDragonM" }, - { AL["Black Dragon Mail"], "BlackDragonM" }, - }, - ["CraftSetTailoring"] = { - { AL["Augerer's Attire"], "AugerersAttire" }, - { AL["Shadoweave"], "ShadoweaveSet" }, - { AL["Diviner's Garments"], "DivinersGarments" }, - { AL["Pillager's Garb"], "PillagersGarb" }, - { AL["Bloodvine Garb"], "BloodvineG" }, - }, - ["DungeonSets12"] = { - { "|cffffffff"..AL["Priest"], "T0Priest" }, - { "|cff68ccef"..AL["Mage"], "T0Mage" }, - { "|cff9382c9"..AL["Warlock"], "T0Warlock" }, - { "|cfffff468"..AL["Rogue"], "T0Rogue" }, - { "|cffff7c0a"..AL["Druid"], "T0Druid" }, - { "|cffaad372"..AL["Hunter"], "T0Hunter" }, - { "|cff2773ff"..AL["Shaman"], "T0Shaman" }, - { "|cfff48cba"..AL["Paladin"], "T0Paladin" }, - { "|cffc69b6d"..AL["Warrior"], "T0Warrior" }, - }, - ["AQ20Sets"] = { - { "|cffffffff"..AL["Priest"], "AQ20Priest" }, - { "|cff68ccef"..AL["Mage"], "AQ20Mage" }, - { "|cff9382c9"..AL["Warlock"], "AQ20Warlock" }, - { "|cfffff468"..AL["Rogue"], "AQ20Rogue" }, - { "|cffff7c0a"..AL["Druid"], "AQ20Druid" }, - { "|cffaad372"..AL["Hunter"], "AQ20Hunter" }, - { "|cff2773ff"..AL["Shaman"], "AQ20Shaman" }, - { "|cfff48cba"..AL["Paladin"], "AQ20Paladin" }, - { "|cffc69b6d"..AL["Warrior"], "AQ20Warrior" }, - }, - ["AQ40Sets"] = { - { "|cffffffff"..AL["Priest"], "AQ40Priest" }, - { "|cff68ccef"..AL["Mage"], "AQ40Mage" }, - { "|cff9382c9"..AL["Warlock"], "AQ40Warlock" }, - { "|cfffff468"..AL["Rogue"], "AQ40Rogue" }, - { "|cffff7c0a"..AL["Druid"], "AQ40Druid" }, - { "|cffaad372"..AL["Hunter"], "AQ40Hunter" }, - { "|cff2773ff"..AL["Shaman"], "AQ40Shaman" }, - { "|cfff48cba"..AL["Paladin"], "AQ40Paladin" }, - { "|cffc69b6d"..AL["Warrior"], "AQ40Warrior" }, - }, - ["T1Sets"] = { - { "|cffffffff"..AL["Priest"], "T1Priest" }, - { "|cff68ccef"..AL["Mage"], "T1Mage" }, - { "|cff9382c9"..AL["Warlock"], "T1Warlock" }, - { "|cfffff468"..AL["Rogue"], "T1Rogue" }, - { "|cffff7c0a"..AL["Druid"], "T1Druid" }, - { "|cffaad372"..AL["Hunter"], "T1Hunter" }, - { "|cff2773ff"..AL["Shaman"], "T1Shaman" }, - { "|cfff48cba"..AL["Paladin"], "T1Paladin" }, - { "|cffc69b6d"..AL["Warrior"], "T1Warrior" }, - }, - ["T2Sets"] = { - { "|cffffffff"..AL["Priest"], "T2Priest" }, - { "|cff68ccef"..AL["Mage"], "T2Mage" }, - { "|cff9382c9"..AL["Warlock"], "T2Warlock" }, - { "|cfffff468"..AL["Rogue"], "T2Rogue" }, - { "|cffff7c0a"..AL["Druid"], "T2Druid" }, - { "|cffaad372"..AL["Hunter"], "T2Hunter" }, - { "|cff2773ff"..AL["Shaman"], "T2Shaman" }, - { "|cfff48cba"..AL["Paladin"], "T2Paladin" }, - { "|cffc69b6d"..AL["Warrior"], "T2Warrior" }, - }, - ["T3Sets"] = { - { "|cffffffff"..AL["Priest"], "T3Priest" }, - { "|cff68ccef"..AL["Mage"], "T3Mage" }, - { "|cff9382c9"..AL["Warlock"], "T3Warlock" }, - { "|cfffff468"..AL["Rogue"], "T3Rogue" }, - { "|cffff7c0a"..AL["Druid"], "T3Druid" }, - { "|cffaad372"..AL["Hunter"], "T3Hunter" }, - { "|cff2773ff"..AL["Shaman"], "T3Shaman" }, - { "|cfff48cba"..AL["Paladin"], "T3Paladin" }, - { "|cffc69b6d"..AL["Warrior"], "T3Warrior" }, - }, - ["ZGSets"] = { - { "|cffffffff"..AL["Priest"], "ZGPriest" }, - { "|cff68ccef"..AL["Mage"], "ZGMage" }, - { "|cff9382c9"..AL["Warlock"], "ZGWarlock" }, - { "|cfffff468"..AL["Rogue"], "ZGRogue" }, - { "|cffff7c0a"..AL["Druid"], "ZGDruid" }, - { "|cffaad372"..AL["Hunter"], "ZGHunter" }, - { "|cff2773ff"..AL["Shaman"], "ZGShaman" }, - { "|cfff48cba"..AL["Paladin"], "ZGPaladin" }, - { "|cffc69b6d"..AL["Warrior"], "ZGWarrior" }, - { AL["Zul'Gurub Rings"], "ZGRings" }, - { AL["The Twin Blades of Hakkari"], "HakkariBlades" }, - { AL["Zul'Gurub Rings"], "ZGRings" }, - }, - ["Pre60Sets"] = { - { AL["Bloodmail Regalia"], "ScholoMail" }, - { AL["Cadaverous Garb"], "ScholoLeather" }, - { AL["Chain of the Scarlet Crusade"], "SCARLET" }, - { AL["Dal'Rend's Arms"], "DalRend" }, - { AL["Deathbone Guardian"], "ScholoPlate" }, - { AL["Defias Leather"], "DEADMINES" }, - { AL["Embrace of the Viper"], "WAILING" }, - { AL["Ironweave Battlesuit"], "IRONWEAVE" }, - { AL["Necropile Raiment"], "ScholoCloth" }, - { AL["Primal Blessing"], "PrimalBlessing" }, - { AL["Scourge Invasion"], "ScourgeInvasion" }, - { AL["Shard of the Gods"], "ShardOfGods" }, - { AL["Spider's Kiss"], "SpiderKiss" }, - { AL["Spirit of Eskhandar"], "SpiritofEskhandar" }, - { AL["The Gladiator"], "BLACKROCKD" }, - { AL["The Postmaster"], "STRAT" }, - - }, - ["BRRewards"] = { - { AL["Friendly Reputation Rewards"], "BRRepFriendly" }, - { AL["Honored Reputation Rewards"], "BRRepHonored" }, - { AL["Revered Reputation Rewards"], "BRRepRevered" }, - { AL["Exalted Reputation Rewards"], "BRRepExalted" }, - { AL["Token of Blood Rewards"], "BRRepTokens" }, - }, - ["AVRewards"] = { - { AL["Friendly Reputation Rewards"], "AVRepFriendly" }, - { AL["Honored Reputation Rewards"], "AVRepHonored" }, - { AL["Revered Reputation Rewards"], "AVRepRevered" }, - { AL["Exalted Reputation Rewards"], "AVRepExalted" }, - { AL["Exalted Reputation Rewards"], "AVRepExalted" }, - { AL["Korrak the Bloodrager"], "AVKorrak" }, - { AL["Ivus & Lokholar"], "AVLokholarIvus" }, - }, - ["ABRewards"] = { - { "Arathi Basin Menu", "ABRepMenu" }, - { AL["Friendly Reputation Rewards"], "ABRepFriendly" }, - { AL["Honored Reputation Rewards"], "ABRepHonored5059" }, - { AL["Revered Reputation Rewards"], "ABRepRevered5059" }, - { AL["Exalted Reputation Rewards"], "ABRepExalted" }, - }, - ["PvPArmorSets"] = { - { AL["Priest"], "PVPPriest" }, - { AL["Mage"], "PVPMage" }, - { AL["Warlock"], "PVPWarlock" }, - { AL["Rogue"], "PVPRogue" }, - { AL["Druid"], "PVPDruid" }, - { AL["Hunter"], "PVPHunter" }, - { AL["Shaman"], "PVPShaman" }, - { AL["Paladin"], "PVPPaladin" }, - { AL["Warrior"], "PVPWarrior" }, - }, - ["WSGRewards"] = { - { "Warsong Gulch Menu", "WSGRepMenu" }, - { AL["Friendly Reputation Rewards"], "WSGRepFriendly" }, - { AL["Honored Reputation Rewards"], "WSGRepHonored5059" }, - { AL["Revered Reputation Rewards"], "WSGRepRevered5059" }, - { AL["Exalted Reputation Rewards"], "WSGRepExalted60" }, - }, - ["Alchemy"] = { - { AtlasLoot_TableNames["AlchemyApprentice1"][1], "AlchemyApprentice1" }, - { AtlasLoot_TableNames["AlchemyJourneyman1"][1], "AlchemyJourneyman1" }, - { AtlasLoot_TableNames["AlchemyExpert1"][1], "AlchemyExpert1" }, - { AtlasLoot_TableNames["AlchemyArtisan1"][1], "AlchemyArtisan1" }, - { AtlasLoot_TableNames["AlchemyHealingAndMana1"][1], "AlchemyHealingAndMana1" }, - { AtlasLoot_TableNames["AlchemyFlasks1"][1], "AlchemyFlasks1" }, - { AtlasLoot_TableNames["AlchemyTransmutes1"][1], "AlchemyTransmutes1" }, - { AtlasLoot_TableNames["AlchemyDefensive1"][1], "AlchemyDefensive1" }, - { AtlasLoot_TableNames["AlchemyOffensive1"][1], "AlchemyOffensive1" }, - { AtlasLoot_TableNames["AlchemyOther1"][1], "AlchemyOther1" }, - }, - ["Blacksmithing"] = { - { AtlasLoot_TableNames["SmithingApprentice1"][1], "SmithingApprentice1" }, - { AtlasLoot_TableNames["SmithingJourneyman1"][1], "SmithingJourneyman1" }, - { AtlasLoot_TableNames["SmithingExpert1"][1], "SmithingExpert1" }, - { AtlasLoot_TableNames["SmithingArtisan1"][1], "SmithingArtisan1" }, - { AtlasLoot_TableNames["Armorsmith1"][1], "Armorsmith1" }, - { AtlasLoot_TableNames["Weaponsmith1"][1], "Weaponsmith1" }, - { AtlasLoot_TableNames["Axesmith1"][1], "Axesmith1" }, - { AtlasLoot_TableNames["Hammersmith1"][1], "Hammersmith1" }, - { AtlasLoot_TableNames["Swordsmith1"][1], "Swordsmith1" }, - }, - ["Cooking"] = { - { AtlasLoot_TableNames["CookingApprentice1"][1], "CookingApprentice1" }, - { AtlasLoot_TableNames["CookingJourneyman1"][1], "CookingJourneyman1" }, - { AtlasLoot_TableNames["CookingExpert1"][1], "CookingExpert1" }, - { AtlasLoot_TableNames["CookingArtisan1"][1], "CookingArtisan1" }, - }, - ["Enchanting"] = { - { AtlasLoot_TableNames["EnchantingApprentice1"][1], "EnchantingApprentice1" }, - { AtlasLoot_TableNames["EnchantingJourneyman1"][1], "EnchantingJourneyman1" }, - { AtlasLoot_TableNames["EnchantingExpert1"][1], "EnchantingExpert1" }, - { AtlasLoot_TableNames["EnchantingArtisan1"][1], "EnchantingArtisan1" }, - { AtlasLoot_TableNames["EnchantingCloak1"][1], "EnchantingCloak1" }, - { AtlasLoot_TableNames["EnchantingChest1"][1], "EnchantingChest1" }, - { AtlasLoot_TableNames["EnchantingBracer1"][1], "EnchantingBracer1" }, - { AtlasLoot_TableNames["EnchantingGlove1"][1], "EnchantingGlove1" }, - { AtlasLoot_TableNames["EnchantingBoots1"][1], "EnchantingBoots1" }, - { AtlasLoot_TableNames["Enchanting2HWeapon1"][1], "Enchanting2HWeapon1" }, - { AtlasLoot_TableNames["EnchantingWeapon1"][1], "EnchantingWeapon1" }, - { AtlasLoot_TableNames["EnchantingShield1"][1], "EnchantingShield1" }, - { AtlasLoot_TableNames["EnchantingMisc1"][1], "EnchantingMisc1" }, - }, - ["Engineering"] = { - { AtlasLoot_TableNames["EngineeringApprentice1"][1], "EngineeringApprentice1" }, - { AtlasLoot_TableNames["EngineeringJourneyman1"][1], "EngineeringJourneyman1" }, - { AtlasLoot_TableNames["EngineeringExpert1"][1], "EngineeringExpert1" }, - { AtlasLoot_TableNames["EngineeringArtisan1"][1], "EngineeringArtisan1" }, - { AtlasLoot_TableNames["Gnomish1"][1], "Gnomish1" }, - { AtlasLoot_TableNames["Goblin1"][1], "Goblin1" }, - }, - ["Leatherworking"] = { - { AtlasLoot_TableNames["LeatherApprentice1"][1], "LeatherApprentice1" }, - { AtlasLoot_TableNames["LeatherJourneyman1"][1], "LeatherJourneyman1" }, - { AtlasLoot_TableNames["LeatherExpert1"][1], "LeatherExpert1" }, - { AtlasLoot_TableNames["LeatherArtisan1"][1], "LeatherArtisan1" }, - { AtlasLoot_TableNames["Dragonscale1"][1], "Dragonscale1" }, - { AtlasLoot_TableNames["Elemental1"][1], "Elemental1" }, - { AtlasLoot_TableNames["Tribal1"][1], "Tribal1" }, - }, - ["Mining"] = { - { AL["Mining"], "Mining1" }, - { AL["Smelting"], "Smelting1" }, - }, - ["Tailoring"] = { - { AtlasLoot_TableNames["TailoringApprentice1"][1], "TailoringApprentice1" }, - { AtlasLoot_TableNames["TailoringJourneyman1"][1], "TailoringJourneyman1" }, - { AtlasLoot_TableNames["TailoringExpert1"][1], "TailoringExpert1" }, - { AtlasLoot_TableNames["TailoringArtisan1"][1], "TailoringArtisan1" }, - }, - ["Survival"] = { - { AtlasLoot_TableNames["Survival1"][1], "Survival1" }, - { AtlasLoot_TableNames["Survival2"][1], "Survival2" }, - }, + -- ["AbyssalCouncil"] = { + -- { AL["Abyssal Council"].." - "..AL["Templars"], "AbyssalTemplars" }, + -- { AL["Abyssal Council"].." - "..AL["Dukes"], "AbyssalDukes" }, + -- { AL["Abyssal Council"].." - "..AL["High Council"], "AbyssalLords" }, + -- }, + -- ["Winterviel"] = { + -- { AL["Feast of Winter Veil"], "Winterviel1"}, + -- { AL["Feast of Winter Veil"], "Winterviel2"}, + -- }, + -- ["Factions"] = { + -- { AL["Argent Dawn"], "Argent1" }, + -- { AL["Bloodsail Buccaneers"], "Bloodsail1" }, + -- { AL["Brood of Nozdormu"], "AQBroodRings" }, + -- { AL["Cenarion Circle"], "Cenarion1" }, + -- { AL["Dalaran"], "Dalaran" }, + -- { AL["Darkmoon Faire"], "Darkmoon" }, + -- { AL["Darkspear Trolls"], "DarkspearTrolls" }, + -- { AL["Darnassus"], "Darnassus" }, + -- { AL["Durotar Labor Union"], "DurotarLaborUnion" }, + -- { AL["Frostwolf Clan"], "Frostwolf1" }, + -- { AL["Gelkis Clan Centaur"], "GelkisClan1" }, + -- { AL["Gnomeregan Exiles"], "GnomereganExiles" }, + -- { AL["Hydraxian Waterlords"], "WaterLords1" }, + -- { AL["Ironforge"], "Ironforge" }, + -- { AL["Magram Clan Centaur"], "MagramClan1" }, + -- { AL["Orgrimmar"], "Orgrimmar" }, + -- { AL["Revantusk Trolls"], "Revantusk" }, + -- { AL["Silvermoon Remnant"], "Helf" }, + -- { AL["Stormpike Guard"], "Stormpike1" }, + -- { AL["Stormwind"], "Stormwind" }, + -- { AL["Thorium Brotherhood"], "Thorium1" }, + -- { AL["Thunder Bluff"], "ThunderBluff" }, + -- { AL["Timbermaw Hold"], "Timbermaw" }, + -- { AL["Undercity"], "Undercity" }, + -- { AL["Wardens of Time"], "Wardens1" }, + -- { AL["Wildhammer Clan"], "Wildhammer" }, + -- { AL["Wintersaber Trainers"], "Wintersaber1" }, + -- { AL["Zandalar Tribe"], "Zandalar1" }, + -- }, + -- ["BoEWorldEpics"] = { + -- { AtlasLoot_TableNames["WorldEpics3"][1], "WorldEpics3" }, + -- { AtlasLoot_TableNames["WorldEpics2"][1], "WorldEpics2" }, + -- { AtlasLoot_TableNames["WorldEpics1"][1], "WorldEpics1" }, + -- }, + -- ["CraftSetBlacksmith"] = { + -- { AL["Steel Plate"], "SteelPlate" }, + -- { AL["Imperial Plate"], "ImperialPlate" }, + -- { AL["The Darksoul"], "TheDarksoul" }, + -- { AL["Bloodsoul Embrace"], "BloodsoulEmbrace" }, + -- }, + -- ["CraftSetLeatherwork"] = { + -- { AL["Grifter's Armor"], "GriftersArmor" }, + -- { AL["Primalist's Trappings"], "PrimalistsTrappings" }, + -- { AL["Volcanic Armor"], "VolcanicArmor" }, + -- { AL["Ironfeather Armor"], "IronfeatherArmor" }, + -- { AL["Stormshroud Armor"], "StormshroudArmor" }, + -- { AL["Devilsaur Armor"], "DevilsaurArmor" }, + -- { AL["Blood Tiger Harness"], "BloodTigerH" }, + -- { AL["Primal Batskin"], "PrimalBatskin" }, + -- { AL["Red Dragon Mail"], "RedDragonM" }, + -- { AL["Green Dragon Mail"], "GreenDragonM" }, + -- { AL["Blue Dragon Mail"], "BlueDragonM" }, + -- { AL["Black Dragon Mail"], "BlackDragonM" }, + -- }, + -- ["CraftSetTailoring"] = { + -- { AL["Augerer's Attire"], "AugerersAttire" }, + -- { AL["Shadoweave"], "ShadoweaveSet" }, + -- { AL["Diviner's Garments"], "DivinersGarments" }, + -- { AL["Pillager's Garb"], "PillagersGarb" }, + -- { AL["Bloodvine Garb"], "BloodvineG" }, + -- }, + -- ["DungeonSets12"] = { + -- { "|cffffffff"..AL["Priest"], "T0Priest" }, + -- { "|cff68ccef"..AL["Mage"], "T0Mage" }, + -- { "|cff9382c9"..AL["Warlock"], "T0Warlock" }, + -- { "|cfffff468"..AL["Rogue"], "T0Rogue" }, + -- { "|cffff7c0a"..AL["Druid"], "T0Druid" }, + -- { "|cffaad372"..AL["Hunter"], "T0Hunter" }, + -- { "|cff2773ff"..AL["Shaman"], "T0Shaman" }, + -- { "|cfff48cba"..AL["Paladin"], "T0Paladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "T0Warrior" }, + -- }, + -- ["AQ20Sets"] = { + -- { "|cffffffff"..AL["Priest"], "AQ20Priest" }, + -- { "|cff68ccef"..AL["Mage"], "AQ20Mage" }, + -- { "|cff9382c9"..AL["Warlock"], "AQ20Warlock" }, + -- { "|cfffff468"..AL["Rogue"], "AQ20Rogue" }, + -- { "|cffff7c0a"..AL["Druid"], "AQ20Druid" }, + -- { "|cffaad372"..AL["Hunter"], "AQ20Hunter" }, + -- { "|cff2773ff"..AL["Shaman"], "AQ20Shaman" }, + -- { "|cfff48cba"..AL["Paladin"], "AQ20Paladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "AQ20Warrior" }, + -- }, + -- ["AQ40Sets"] = { + -- { "|cffffffff"..AL["Priest"], "AQ40Priest" }, + -- { "|cff68ccef"..AL["Mage"], "AQ40Mage" }, + -- { "|cff9382c9"..AL["Warlock"], "AQ40Warlock" }, + -- { "|cfffff468"..AL["Rogue"], "AQ40Rogue" }, + -- { "|cffff7c0a"..AL["Druid"], "AQ40Druid" }, + -- { "|cffaad372"..AL["Hunter"], "AQ40Hunter" }, + -- { "|cff2773ff"..AL["Shaman"], "AQ40Shaman" }, + -- { "|cfff48cba"..AL["Paladin"], "AQ40Paladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "AQ40Warrior" }, + -- }, + -- ["T1Sets"] = { + -- { "|cffffffff"..AL["Priest"], "T1Priest" }, + -- { "|cff68ccef"..AL["Mage"], "T1Mage" }, + -- { "|cff9382c9"..AL["Warlock"], "T1Warlock" }, + -- { "|cfffff468"..AL["Rogue"], "T1Rogue" }, + -- { "|cffff7c0a"..AL["Druid"], "T1Druid" }, + -- { "|cffaad372"..AL["Hunter"], "T1Hunter" }, + -- { "|cff2773ff"..AL["Shaman"], "T1Shaman" }, + -- { "|cfff48cba"..AL["Paladin"], "T1Paladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "T1Warrior" }, + -- }, + -- ["T2Sets"] = { + -- { "|cffffffff"..AL["Priest"], "T2Priest" }, + -- { "|cff68ccef"..AL["Mage"], "T2Mage" }, + -- { "|cff9382c9"..AL["Warlock"], "T2Warlock" }, + -- { "|cfffff468"..AL["Rogue"], "T2Rogue" }, + -- { "|cffff7c0a"..AL["Druid"], "T2Druid" }, + -- { "|cffaad372"..AL["Hunter"], "T2Hunter" }, + -- { "|cff2773ff"..AL["Shaman"], "T2Shaman" }, + -- { "|cfff48cba"..AL["Paladin"], "T2Paladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "T2Warrior" }, + -- }, + -- ["T3Sets"] = { + -- { "|cffffffff"..AL["Priest"], "T3Priest" }, + -- { "|cff68ccef"..AL["Mage"], "T3Mage" }, + -- { "|cff9382c9"..AL["Warlock"], "T3Warlock" }, + -- { "|cfffff468"..AL["Rogue"], "T3Rogue" }, + -- { "|cffff7c0a"..AL["Druid"], "T3Druid" }, + -- { "|cffaad372"..AL["Hunter"], "T3Hunter" }, + -- { "|cff2773ff"..AL["Shaman"], "T3Shaman" }, + -- { "|cfff48cba"..AL["Paladin"], "T3Paladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "T3Warrior" }, + -- }, + -- ["ZGSets"] = { + -- { "|cffffffff"..AL["Priest"], "ZGPriest" }, + -- { "|cff68ccef"..AL["Mage"], "ZGMage" }, + -- { "|cff9382c9"..AL["Warlock"], "ZGWarlock" }, + -- { "|cfffff468"..AL["Rogue"], "ZGRogue" }, + -- { "|cffff7c0a"..AL["Druid"], "ZGDruid" }, + -- { "|cffaad372"..AL["Hunter"], "ZGHunter" }, + -- { "|cff2773ff"..AL["Shaman"], "ZGShaman" }, + -- { "|cfff48cba"..AL["Paladin"], "ZGPaladin" }, + -- { "|cffc69b6d"..AL["Warrior"], "ZGWarrior" }, + -- { AL["Zul'Gurub Rings"], "ZGRings" }, + -- { AL["The Twin Blades of Hakkari"], "HakkariBlades" }, + -- { AL["Zul'Gurub Rings"], "ZGRings" }, + -- }, + -- ["Pre60Sets"] = { + -- { AL["Bloodmail Regalia"], "ScholoMail" }, + -- { AL["Cadaverous Garb"], "ScholoLeather" }, + -- { AL["Chain of the Scarlet Crusade"], "SCARLET" }, + -- { AL["Dal'Rend's Arms"], "DalRend" }, + -- { AL["Deathbone Guardian"], "ScholoPlate" }, + -- { AL["Defias Leather"], "DEADMINES" }, + -- { AL["Embrace of the Viper"], "WAILING" }, + -- { AL["Ironweave Battlesuit"], "IRONWEAVE" }, + -- { AL["Necropile Raiment"], "ScholoCloth" }, + -- { AL["Primal Blessing"], "PrimalBlessing" }, + -- { AL["Scourge Invasion"], "ScourgeInvasion" }, + -- { AL["Shard of the Gods"], "ShardOfGods" }, + -- { AL["Spider's Kiss"], "SpiderKiss" }, + -- { AL["Spirit of Eskhandar"], "SpiritofEskhandar" }, + -- { AL["The Gladiator"], "BLACKROCKD" }, + -- { AL["The Postmaster"], "STRAT" }, + -- }, + -- ["BRRewards"] = { + -- { AL["Friendly Reputation Rewards"], "BRRepFriendly" }, + -- { AL["Honored Reputation Rewards"], "BRRepHonored" }, + -- { AL["Revered Reputation Rewards"], "BRRepRevered" }, + -- { AL["Exalted Reputation Rewards"], "BRRepExalted" }, + -- { AL["Token of Blood Rewards"], "BRRepTokens" }, + -- }, + -- ["AVRewards"] = { + -- { AL["Friendly Reputation Rewards"], "AVRepFriendly" }, + -- { AL["Honored Reputation Rewards"], "AVRepHonored" }, + -- { AL["Revered Reputation Rewards"], "AVRepRevered" }, + -- { AL["Exalted Reputation Rewards"], "AVRepExalted" }, + -- { AL["Exalted Reputation Rewards"], "AVRepExalted" }, + -- { AL["Korrak the Bloodrager"], "AVKorrak" }, + -- { AL["Ivus & Lokholar"], "AVLokholarIvus" }, + -- }, + -- ["ABRewards"] = { + -- { "Arathi Basin Menu", "ABRepMenu" }, + -- { AL["Friendly Reputation Rewards"], "ABRepFriendly" }, + -- { AL["Honored Reputation Rewards"], "ABRepHonored5059" }, + -- { AL["Revered Reputation Rewards"], "ABRepRevered5059" }, + -- { AL["Exalted Reputation Rewards"], "ABRepExalted" }, + -- }, + -- ["PvPArmorSets"] = { + -- { AL["Priest"], "PVPPriest" }, + -- { AL["Mage"], "PVPMage" }, + -- { AL["Warlock"], "PVPWarlock" }, + -- { AL["Rogue"], "PVPRogue" }, + -- { AL["Druid"], "PVPDruid" }, + -- { AL["Hunter"], "PVPHunter" }, + -- { AL["Shaman"], "PVPShaman" }, + -- { AL["Paladin"], "PVPPaladin" }, + -- { AL["Warrior"], "PVPWarrior" }, + -- }, + -- ["WSGRewards"] = { + -- { "Warsong Gulch Menu", "WSGRepMenu" }, + -- { AL["Friendly Reputation Rewards"], "WSGRepFriendly" }, + -- { AL["Honored Reputation Rewards"], "WSGRepHonored5059" }, + -- { AL["Revered Reputation Rewards"], "WSGRepRevered5059" }, + -- { AL["Exalted Reputation Rewards"], "WSGRepExalted60" }, + -- }, + -- ["Alchemy"] = { + -- { AtlasLoot_TableNames["AlchemyApprentice1"][1], "AlchemyApprentice1" }, + -- { AtlasLoot_TableNames["AlchemyJourneyman1"][1], "AlchemyJourneyman1" }, + -- { AtlasLoot_TableNames["AlchemyExpert1"][1], "AlchemyExpert1" }, + -- { AtlasLoot_TableNames["AlchemyArtisan1"][1], "AlchemyArtisan1" }, + -- { AtlasLoot_TableNames["AlchemyHealingAndMana1"][1], "AlchemyHealingAndMana1" }, + -- { AtlasLoot_TableNames["AlchemyFlasks1"][1], "AlchemyFlasks1" }, + -- { AtlasLoot_TableNames["AlchemyTransmutes1"][1], "AlchemyTransmutes1" }, + -- { AtlasLoot_TableNames["AlchemyDefensive1"][1], "AlchemyDefensive1" }, + -- { AtlasLoot_TableNames["AlchemyOffensive1"][1], "AlchemyOffensive1" }, + -- { AtlasLoot_TableNames["AlchemyOther1"][1], "AlchemyOther1" }, + -- }, + -- ["Blacksmithing"] = { + -- { AtlasLoot_TableNames["SmithingApprentice1"][1], "SmithingApprentice1" }, + -- { AtlasLoot_TableNames["SmithingJourneyman1"][1], "SmithingJourneyman1" }, + -- { AtlasLoot_TableNames["SmithingExpert1"][1], "SmithingExpert1" }, + -- { AtlasLoot_TableNames["SmithingArtisan1"][1], "SmithingArtisan1" }, + -- { AtlasLoot_TableNames["Armorsmith1"][1], "Armorsmith1" }, + -- { AtlasLoot_TableNames["Weaponsmith1"][1], "Weaponsmith1" }, + -- { AtlasLoot_TableNames["Axesmith1"][1], "Axesmith1" }, + -- { AtlasLoot_TableNames["Hammersmith1"][1], "Hammersmith1" }, + -- { AtlasLoot_TableNames["Swordsmith1"][1], "Swordsmith1" }, + -- }, + -- ["Cooking"] = { + -- { AtlasLoot_TableNames["CookingApprentice1"][1], "CookingApprentice1" }, + -- { AtlasLoot_TableNames["CookingJourneyman1"][1], "CookingJourneyman1" }, + -- { AtlasLoot_TableNames["CookingExpert1"][1], "CookingExpert1" }, + -- { AtlasLoot_TableNames["CookingArtisan1"][1], "CookingArtisan1" }, + -- }, + -- ["Enchanting"] = { + -- { AtlasLoot_TableNames["EnchantingApprentice1"][1], "EnchantingApprentice1" }, + -- { AtlasLoot_TableNames["EnchantingJourneyman1"][1], "EnchantingJourneyman1" }, + -- { AtlasLoot_TableNames["EnchantingExpert1"][1], "EnchantingExpert1" }, + -- { AtlasLoot_TableNames["EnchantingArtisan1"][1], "EnchantingArtisan1" }, + -- { AtlasLoot_TableNames["EnchantingCloak1"][1], "EnchantingCloak1" }, + -- { AtlasLoot_TableNames["EnchantingChest1"][1], "EnchantingChest1" }, + -- { AtlasLoot_TableNames["EnchantingBracer1"][1], "EnchantingBracer1" }, + -- { AtlasLoot_TableNames["EnchantingGlove1"][1], "EnchantingGlove1" }, + -- { AtlasLoot_TableNames["EnchantingBoots1"][1], "EnchantingBoots1" }, + -- { AtlasLoot_TableNames["Enchanting2HWeapon1"][1], "Enchanting2HWeapon1" }, + -- { AtlasLoot_TableNames["EnchantingWeapon1"][1], "EnchantingWeapon1" }, + -- { AtlasLoot_TableNames["EnchantingShield1"][1], "EnchantingShield1" }, + -- { AtlasLoot_TableNames["EnchantingMisc1"][1], "EnchantingMisc1" }, + -- }, + -- ["Engineering"] = { + -- { AtlasLoot_TableNames["EngineeringApprentice1"][1], "EngineeringApprentice1" }, + -- { AtlasLoot_TableNames["EngineeringJourneyman1"][1], "EngineeringJourneyman1" }, + -- { AtlasLoot_TableNames["EngineeringExpert1"][1], "EngineeringExpert1" }, + -- { AtlasLoot_TableNames["EngineeringArtisan1"][1], "EngineeringArtisan1" }, + -- { AtlasLoot_TableNames["Gnomish1"][1], "Gnomish1" }, + -- { AtlasLoot_TableNames["Goblin1"][1], "Goblin1" }, + -- }, + -- ["Leatherworking"] = { + -- { AtlasLoot_TableNames["LeatherApprentice1"][1], "LeatherApprentice1" }, + -- { AtlasLoot_TableNames["LeatherJourneyman1"][1], "LeatherJourneyman1" }, + -- { AtlasLoot_TableNames["LeatherExpert1"][1], "LeatherExpert1" }, + -- { AtlasLoot_TableNames["LeatherArtisan1"][1], "LeatherArtisan1" }, + -- { AtlasLoot_TableNames["Dragonscale1"][1], "Dragonscale1" }, + -- { AtlasLoot_TableNames["Elemental1"][1], "Elemental1" }, + -- { AtlasLoot_TableNames["Tribal1"][1], "Tribal1" }, + -- }, + -- ["Mining"] = { + -- { AL["Mining"], "Mining1" }, + -- { AL["Smelting"], "Smelting1" }, + -- }, + -- ["Tailoring"] = { + -- { AtlasLoot_TableNames["TailoringApprentice1"][1], "TailoringApprentice1" }, + -- { AtlasLoot_TableNames["TailoringJourneyman1"][1], "TailoringJourneyman1" }, + -- { AtlasLoot_TableNames["TailoringExpert1"][1], "TailoringExpert1" }, + -- { AtlasLoot_TableNames["TailoringArtisan1"][1], "TailoringArtisan1" }, + -- }, + -- ["Survival"] = { + -- { AtlasLoot_TableNames["Survival1"][1], "Survival1" }, + -- { AtlasLoot_TableNames["Survival2"][1], "Survival2" }, + -- }, }; -------------------------------------------------------------------------------- @@ -3365,7 +3413,7 @@ function AtlasLootItem_OnClick(arg1) local color = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 1, 10); local id = this:GetID(); local name = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11); - local texture = strsplit("\\", getglobal("AtlasLootItem_"..this:GetID().."_Icon"):GetTexture(), 0, true) + local texture = AtlasLoot_Strsplit("\\", getglobal("AtlasLootItem_"..this:GetID().."_Icon"):GetTexture(), 0, true) local dataID = AtlasLootItemsFrame.refresh[1] local dataSource = AtlasLootItemsFrame.refresh[2] local bossName = AtlasLootItemsFrame.refresh[3] @@ -3440,7 +3488,7 @@ function AtlasLootItem_OnClick(arg1) AtlasLoot_AddToWishlist(this.itemID, texture, this.itemIDName, this.itemIDExtra, dataID.."|"..dataSource); end elseif((dataID == "SearchResult" or dataID == "WishList") and this.sourcePage) then - local dataID, dataSource = strsplit("|", this.sourcePage); + local dataID, dataSource = AtlasLoot_Strsplit("|", this.sourcePage); if(dataID and dataSource and AtlasLoot_IsLootTableAvailable(dataID)) then AtlasLoot_ShowItemsFrame(dataID, dataSource, AtlasLoot_TableNames[dataID][1], framePoint); end @@ -3465,7 +3513,7 @@ function AtlasLootItem_OnClick(arg1) elseif(IsControlKeyDown()) then DressUpItemLink("item:"..this.dressingroomID..":0:0:0"); elseif((dataID == "SearchResult" or dataID == "WishList") and this.sourcePage) then - local dataID, dataSource = strsplit("|", this.sourcePage); + local dataID, dataSource = AtlasLoot_Strsplit("|", this.sourcePage); if(dataID and dataSource and AtlasLoot_IsLootTableAvailable(dataID)) then AtlasLoot_ShowItemsFrame(dataID, dataSource, bossName, framePoint); end @@ -3529,8 +3577,8 @@ function AtlasLootItem_OnClick(arg1) elseif(IsControlKeyDown()) then DressUpItemLink("item:"..this.dressingroomID..":0:0:0"); elseif((dataID == "SearchResult" or dataID == "WishList") and this.sourcePage) then - local d1, d2 = strsplit("|", this.sourcePage); - if(d1 and d2 and AtlasLoot_IsLootTableAvailable(d1)) then + local dataID, dataSource = AtlasLoot_Strsplit("|", this.sourcePage); + if(dataID and dataSource and AtlasLoot_IsLootTableAvailable(dataID)) then AtlasLoot_ShowItemsFrame(dataID, dataSource, bossName, framePoint); end end @@ -3692,6 +3740,11 @@ function AtlasLoot_ContainerItem_OnClick(arg1) local _, _, _, color = GetItemQualityColor(quality) tex = string.gsub(tex, "Interface\\Icons\\", "") local extra = this.extraInfo + local lootpage, dataSource + if lastSelectedButton then + lootpage = lastSelectedButton.lootpage + dataSource = lastSelectedButton.dataSource + end if IsShiftKeyDown() and arg1 == "LeftButton" then if AtlasLootCharDB.AllLinks then if WIM_EditBoxInFocus then @@ -3703,7 +3756,9 @@ function AtlasLoot_ContainerItem_OnClick(arg1) elseif(IsControlKeyDown() and name) then DressUpItemLink(link); elseif(IsAltKeyDown() and (itemID ~= 0)) then - if AtlasLootItemsFrame.refresh then + if lootpage then + AtlasLoot_AddToWishlist(itemID, tex, name, extra, lootpage.."|"..dataSource) + elseif AtlasLootItemsFrame.refresh then local dataID = AtlasLootItemsFrame.refresh[1] local dataSource = AtlasLootItemsFrame.refresh[2] if dataID == "WishList" then @@ -3887,111 +3942,3 @@ function AtlasLoot_GetChatLink(id) local e = string.sub(d, 2) return "\124"..e.."\124H"..b.."\124h["..a.."]\124h\124r" end ---[[ ---pfUI.api.strsplit --Uses code borrowed from pfUI by Shagu -local function AtlasLoot_strsplit(delimiter, subject) - if not subject then return nil end - local delimiter, fields = delimiter or ":", {} - local pattern = string.format("([^%s]+)", delimiter) - string.gsub(subject, pattern, function(c) fields[table.getn(fields)+1] = c end) - return unpack(fields) -end - ---Update announcing code taken from pfUI by Shagu -local major, minor, fix = AtlasLoot_strsplit(".", tostring(GetAddOnMetadata("AtlasLoot", "Version"))) -local alreadyshown = false -local localversion = tonumber(major*10000 + minor*100 + fix) -local remoteversion = tonumber(AtlasLoot_updateavailable) or 0 -local loginchannels = { "BATTLEGROUND", "RAID", "GUILD" } -local groupchannels = { "BATTLEGROUND", "RAID" } - -AtlasLoot_updater = CreateFrame("Frame") -AtlasLoot_updater:RegisterEvent("CHAT_MSG_ADDON") -AtlasLoot_updater:RegisterEvent("CHAT_MSG_CHANNEL") -AtlasLoot_updater:RegisterEvent("PLAYER_ENTERING_WORLD") ---AtlasLoot_updater:RegisterEvent("PARTY_MEMBERS_CHANGED") --Remove some unnecessary addon spam and allow different AtlasLoot branches to coexist -AtlasLoot_updater:RegisterEvent("CHAT_MSG_CHANNEL_JOIN") - -AtlasLootUserCounter = {} -PlayerCounter = {} - -AtlasLoot_updater:SetScript("OnEvent", function() - if event == "CHAT_MSG_ADDON" and arg1 == "AtlasLoot" then - local v, remoteversion, remotetitle = AtlasLoot_strsplit(":", arg2) - local _,title = GetAddOnInfo("AtlasLoot") - local remoteversion = tonumber(remoteversion) - if remoteversion >= 40000 then remoteversion = 0 end --Block for people using some version from another version of WoW. - if v == "VERSION" and remoteversion and title == remotetitle then - if remoteversion > localversion then - AtlasLoot_updateavailable = remoteversion - if not alreadyshown then - DEFAULT_CHAT_FRAME:AddMessage("|cffbe5eff[AtlasLoot]|r New version available! https://github.com/Otari98/AtlasLoot") - alreadyshown = true - end - end - end - end - - if event == "CHAT_MSG_CHANNEL_JOIN" then - local name = arg2 - if not PlayerCounter[name] then - PlayerCounter[name] = 1 - end - end - - if event == "CHAT_MSG_CHANNEL" then - local _,_,source = string.find(arg4,"(%d+)%.") - if source then - _,name = GetChannelName(source) - end - if not name then return end - if string.upper(name) == "LFT" then - local msg, v, remoteversion, remotetitle = AtlasLoot_strsplit(":", arg1) - if msg == "Atlasloot" then - local remoteversion = tonumber(remoteversion) or 0 - local _,title = GetAddOnInfo("AtlasLoot") - if remoteversion >= 40000 then remoteversion = 0 end --Block for people using some version from another version of WoW. - if v == "VERSION" and remoteversion and title == remotetitle then - if remoteversion > localversion then - AtlasLoot_updateavailable = remoteversion - if not alreadyshown then - DEFAULT_CHAT_FRAME:AddMessage("|cffbe5eff[AtlasLoot]|r New version available! https://github.com/Otari98/AtlasLoot") - alreadyshown = true - end - end - end - local name = arg2 - if not AtlasLootUserCounter[name] then - AtlasLootUserCounter[name] = 1 - end - end - end - end - - local _,title = GetAddOnInfo("AtlasLoot") - if event == "PARTY_MEMBERS_CHANGED" then - local groupsize = GetNumRaidMembers() > 0 and GetNumRaidMembers() or GetNumPartyMembers() > 0 and GetNumPartyMembers() or 0 - if ( this.group or 0 ) < groupsize then - for _, chan in pairs(groupchannels) do - SendAddonMessage("AtlasLoot", "VERSION:" .. localversion..":"..title, chan) - end - end - this.group = groupsize - end - - if event == "PLAYER_ENTERING_WORLD" then - if not alreadyshown and localversion < remoteversion then - DEFAULT_CHAT_FRAME:AddMessage("|cffbe5eff[AtlasLoot]|r New version available! https://github.com/Otari98/AtlasLoot") - AtlasLoot_updateavailable = localversion - alreadyshown = true - end - - for _, chan in pairs(loginchannels) do - SendAddonMessage("AtlasLoot", "VERSION:" .. localversion..":"..title, chan) - end - if GetChannelName("LFT") ~= 0 then - SendChatMessage("Atlasloot:VERSION:" .. localversion..":"..title, "CHANNEL", nil, GetChannelName("LFT")) - end - end - end) -]] \ No newline at end of file diff --git a/Core/AtlasLoot.xml b/Core/AtlasLoot.xml index 3bd3cfb..affbf68 100644 --- a/Core/AtlasLoot.xml +++ b/Core/AtlasLoot.xml @@ -546,6 +546,10 @@ AtlasLoot_ShowWishList(); CloseDropDownMenus(); + AtlasLootDefaultFrame_SubMenu:Disable() + AtlasLootDefaultFrame_SelectedTable:Hide() + AtlasLootQuickLooksButton:Hide() + AtlasLoot_QuickLooks:Hide() local AL = AceLibrary("AceLocale-2.2"):new("AtlasLoot"); diff --git a/Core/PvP.lua b/Core/PvP.lua index 7e2fee2..efbbb6b 100644 --- a/Core/PvP.lua +++ b/Core/PvP.lua @@ -336,55 +336,55 @@ function AtlasLootPVPSetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff"..AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest") + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest") AtlasLootMenuItem_3.lootpage="PVPPriest"; AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef"..AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage="PVPMage"; AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9"..AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage="PVPWarlock"; AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468"..AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue") + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue") AtlasLootMenuItem_6.lootpage="PVPRogue"; AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a"..AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid") + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid") AtlasLootMenuItem_7.lootpage="PVPDruid"; AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372"..AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter") + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter") AtlasLootMenuItem_18.lootpage="PVPHunter"; AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff"..AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage="PVPShaman"; AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba"..AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin") + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin") AtlasLootMenuItem_20.lootpage="PVPPaladin"; AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d"..AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior") + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior") AtlasLootMenuItem_21.lootpage="PVPWarrior"; AtlasLootMenuItem_21:Show(); end diff --git a/Core/Sets.lua b/Core/Sets.lua index 6a959b8..e717d4d 100644 --- a/Core/Sets.lua +++ b/Core/Sets.lua @@ -3,21 +3,20 @@ local AL = AceLibrary("AceLocale-2.2"):new("AtlasLoot"); local ORANGE = "|cffFF8400"; local data = AtlasLoot_Data["AtlasLootSetItems"] -local classCoords = { - ["warrior"] = { 0, 0.25, 0, 0.25 }, - ["mage"] = { 0.25, 0.5, 0, 0.25 }, - ["rogue"] = { 0.5, 0.745, 0, 0.25 }, - ["druid"] = { 0.75, 0.99, 0, 0.25 }, - ["hunter"] = { 0, 0.25, 0.25, 0.5 }, - ["shaman"] = { 0.25, 0.50, 0.25, 0.5 }, - ["priest"] = { 0.50, 0.75, 0.25, 0.5 }, - ["warlock"] = { 0.75, 0.99, 0.25, 0.5 }, - ["paladin"] = { 0, 0.25, 0.5, 0.75 }, -} - -function AtlasLoot_SetClassIcon(object, class) - object:SetTexture("Interface\\Glues\\CharacterCreate\\UI-CharacterCreate-Classes") - object:SetTexCoord(unpack(classCoords[class])) +function AtlasLoot_GetDataSource(dataID) + local source = nil + for k in pairs(AtlasLoot_Data) do + if source then + break + end + for i in pairs(AtlasLoot_Data[k]) do + if i == dataID then + source = k + break + end + end + end + return source end function AtlasLoot_PrepMenu(backPage, title) @@ -26,10 +25,12 @@ function AtlasLoot_PrepMenu(backPage, title) getglobal("AtlasLootItem_" .. i.."Border"):Hide() end for i = 1, 30, 1 do + local button = getglobal("AtlasLootMenuItem_" .. i) getglobal("AtlasLootMenuItem_" .. i.."Border"):Hide() - getglobal("AtlasLootMenuItem_" .. i):Hide(); - getglobal("AtlasLootMenuItem_" .. i).isheader = false; - getglobal("AtlasLootMenuItem_" .. i).container = nil + button:Hide(); + button.isheader = false; + button.container = nil + button.dataSource = nil getglobal("AtlasLootMenuItem_" .. i .. "_Icon"):SetTexCoord(0, 1, 0, 1) end if backPage then @@ -279,7 +280,9 @@ function AtlasLootPRE60SetMenu() AtlasLootMenuItem_23.container = data.SpiritofEskhandarC AtlasLootMenuItem_23:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -290,63 +293,63 @@ function AtlasLootZGSetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest") + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest") AtlasLootMenuItem_3.lootpage = "ZGPriest"; AtlasLootMenuItem_3.container = data.ZGPriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "ZGMage"; AtlasLootMenuItem_4.container = data.ZGMageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "ZGWarlock"; AtlasLootMenuItem_5.container = data.ZGWarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue") + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue") AtlasLootMenuItem_6.lootpage = "ZGRogue"; AtlasLootMenuItem_6.container = data.ZGRogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid") + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid") AtlasLootMenuItem_7.lootpage = "ZGDruid"; AtlasLootMenuItem_7.container = data.ZGDruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter") + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter") AtlasLootMenuItem_18.lootpage = "ZGHunter"; AtlasLootMenuItem_18.container = data.ZGHunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "ZGShaman"; AtlasLootMenuItem_19.container = data.ZGShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin") + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin") AtlasLootMenuItem_20.lootpage = "ZGPaladin"; AtlasLootMenuItem_20.container = data.ZGPaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior") + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior") AtlasLootMenuItem_21.lootpage = "ZGWarrior"; AtlasLootMenuItem_21.container = data.ZGWarriorC AtlasLootMenuItem_21:Show(); @@ -372,7 +375,9 @@ function AtlasLootZGSetMenu() AtlasLootMenuItem_25.container = data.HakkariBladesC AtlasLootMenuItem_25:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -383,68 +388,70 @@ function AtlasLootAQ40SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest") + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest") AtlasLootMenuItem_3.lootpage = "AQ40Priest"; AtlasLootMenuItem_3.container = data.AQ40PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "AQ40Mage"; AtlasLootMenuItem_4.container = data.AQ40MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "AQ40Warlock"; AtlasLootMenuItem_5.container = data.AQ40WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue"); + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue"); AtlasLootMenuItem_6.lootpage = "AQ40Rogue"; AtlasLootMenuItem_6.container = data.AQ40RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid"); + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid"); AtlasLootMenuItem_7.lootpage = "AQ40Druid"; AtlasLootMenuItem_7.container = data.AQ40DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter"); + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter"); AtlasLootMenuItem_18.lootpage = "AQ40Hunter"; AtlasLootMenuItem_18.container = data.AQ40HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "AQ40Shaman"; AtlasLootMenuItem_19.container = data.AQ40ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin"); + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin"); AtlasLootMenuItem_20.lootpage = "AQ40Paladin"; AtlasLootMenuItem_20.container = data.AQ40PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior"); + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior"); AtlasLootMenuItem_21.lootpage = "AQ40Warrior"; AtlasLootMenuItem_21.container = data.AQ40WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -455,68 +462,70 @@ function AtlasLootAQ20SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest"); + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest"); AtlasLootMenuItem_3.lootpage = "AQ20Priest"; AtlasLootMenuItem_3.container = data.AQ20PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "AQ20Mage"; AtlasLootMenuItem_4.container = data.AQ20MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "AQ20Warlock"; AtlasLootMenuItem_5.container = data.AQ20WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue"); + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue"); AtlasLootMenuItem_6.lootpage = "AQ20Rogue"; AtlasLootMenuItem_6.container = data.AQ20RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid"); + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid"); AtlasLootMenuItem_7.lootpage = "AQ20Druid"; AtlasLootMenuItem_7.container = data.AQ20DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter"); + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter"); AtlasLootMenuItem_18.lootpage = "AQ20Hunter"; AtlasLootMenuItem_18.container = data.AQ20HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "AQ20Shaman"; AtlasLootMenuItem_19.container = data.AQ20ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin"); + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin"); AtlasLootMenuItem_20.lootpage = "AQ20Paladin"; AtlasLootMenuItem_20.container = data.AQ20PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior"); + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior"); AtlasLootMenuItem_21.lootpage = "AQ20Warrior"; AtlasLootMenuItem_21.container = data.AQ20WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -527,68 +536,70 @@ function AtlasLootT0SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest"); + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest"); AtlasLootMenuItem_3.lootpage = "T0Priest"; AtlasLootMenuItem_3.container = data.T0PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage"); + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage"); AtlasLootMenuItem_4.lootpage = "T0Mage"; AtlasLootMenuItem_4.container = data.T0MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "T0Warlock"; AtlasLootMenuItem_5.container = data.T0WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue") + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue") AtlasLootMenuItem_6.lootpage = "T0Rogue"; AtlasLootMenuItem_6.container = data.T0RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid") + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid") AtlasLootMenuItem_7.lootpage = "T0Druid"; AtlasLootMenuItem_7.container = data.T0DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter") + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter") AtlasLootMenuItem_18.lootpage = "T0Hunter"; AtlasLootMenuItem_18.container = data.T0HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "T0Shaman"; AtlasLootMenuItem_19.container = data.T0ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin") + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin") AtlasLootMenuItem_20.lootpage = "T0Paladin"; AtlasLootMenuItem_20.container = data.T0PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior") + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior") AtlasLootMenuItem_21.lootpage = "T0Warrior"; AtlasLootMenuItem_21.container = data.T0WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -599,68 +610,70 @@ function AtlasLootT1SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest"); + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest"); AtlasLootMenuItem_3.lootpage = "T1Priest"; AtlasLootMenuItem_3.container = data.T1PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "T1Mage"; AtlasLootMenuItem_4.container = data.T1MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "T1Warlock"; AtlasLootMenuItem_5.container = data.T1WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue"); + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue"); AtlasLootMenuItem_6.lootpage = "T1Rogue"; AtlasLootMenuItem_6.container = data.T1RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid"); + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid"); AtlasLootMenuItem_7.lootpage = "T1Druid"; AtlasLootMenuItem_7.container = data.T1DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter"); + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter"); AtlasLootMenuItem_18.lootpage = "T1Hunter"; AtlasLootMenuItem_18.container = data.T1HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "T1Shaman"; AtlasLootMenuItem_19.container = data.T1ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin"); + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin"); AtlasLootMenuItem_20.lootpage = "T1Paladin"; AtlasLootMenuItem_20.container = data.T1PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior"); + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior"); AtlasLootMenuItem_21.lootpage = "T1Warrior"; AtlasLootMenuItem_21.container = data.T1WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -671,68 +684,70 @@ function AtlasLootT2SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest"); + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest"); AtlasLootMenuItem_3.lootpage = "T2Priest"; AtlasLootMenuItem_3.container = data.T2PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "T2Mage"; AtlasLootMenuItem_4.container = data.T2MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "T2Warlock"; AtlasLootMenuItem_5.container = data.T2WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue"); + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue"); AtlasLootMenuItem_6.lootpage = "T2Rogue"; AtlasLootMenuItem_6.container = data.T2RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid"); + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid"); AtlasLootMenuItem_7.lootpage = "T2Druid"; AtlasLootMenuItem_7.container = data.T2DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter"); + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter"); AtlasLootMenuItem_18.lootpage = "T2Hunter"; AtlasLootMenuItem_18.container = data.T2HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "T2Shaman"; AtlasLootMenuItem_19.container = data.T2ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin"); + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin"); AtlasLootMenuItem_20.lootpage = "T2Paladin"; AtlasLootMenuItem_20.container = data.T2PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior"); + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior"); AtlasLootMenuItem_21.lootpage = "T2Warrior"; AtlasLootMenuItem_21.container = data.T2WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -743,68 +758,70 @@ function AtlasLootT3SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest"); + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest"); AtlasLootMenuItem_3.lootpage = "T3Priest"; AtlasLootMenuItem_3.container = data.T3PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "T3Mage"; AtlasLootMenuItem_4.container = data.T3MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "T3Warlock"; AtlasLootMenuItem_5.container = data.T3WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue"); + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue"); AtlasLootMenuItem_6.lootpage = "T3Rogue"; AtlasLootMenuItem_6.container = data.T3RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid"); + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid"); AtlasLootMenuItem_7.lootpage = "T3Druid"; AtlasLootMenuItem_7.container = data.T3DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter"); + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter"); AtlasLootMenuItem_18.lootpage = "T3Hunter"; AtlasLootMenuItem_18.container = data.T3HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "T3Shaman"; AtlasLootMenuItem_19.container = data.T3ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin"); + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin"); AtlasLootMenuItem_20.lootpage = "T3Paladin"; AtlasLootMenuItem_20.container = data.T3PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior"); + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior"); AtlasLootMenuItem_21.lootpage = "T3Warrior"; AtlasLootMenuItem_21.container = data.T3WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end @@ -815,68 +832,70 @@ function AtlasLoot_Kara40SetMenu() --Priest AtlasLootMenuItem_3_Name:SetText("|cffffffff" .. AL["Priest"]); AtlasLootMenuItem_3_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_3_Icon, "priest"); + AtlasLootMenuItem_3_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\priest"); AtlasLootMenuItem_3.lootpage = "T35Priest"; AtlasLootMenuItem_3.container = data.T35PriestC AtlasLootMenuItem_3:Show(); --Mage AtlasLootMenuItem_4_Name:SetText("|cff68ccef" .. AL["Mage"]); AtlasLootMenuItem_4_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_4_Icon, "mage") + AtlasLootMenuItem_4_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\mage") AtlasLootMenuItem_4.lootpage = "T35Mage"; AtlasLootMenuItem_4.container = data.T35MageC AtlasLootMenuItem_4:Show(); --Warlock AtlasLootMenuItem_5_Name:SetText("|cff9382c9" .. AL["Warlock"]); AtlasLootMenuItem_5_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_5_Icon, "warlock") + AtlasLootMenuItem_5_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warlock") AtlasLootMenuItem_5.lootpage = "T35Warlock"; AtlasLootMenuItem_5.container = data.T35WarlockC AtlasLootMenuItem_5:Show(); --Rogue AtlasLootMenuItem_6_Name:SetText("|cfffff468" .. AL["Rogue"]); AtlasLootMenuItem_6_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_6_Icon, "rogue"); + AtlasLootMenuItem_6_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\rogue"); AtlasLootMenuItem_6.lootpage = "T35Rogue"; AtlasLootMenuItem_6.container = data.T35RogueC AtlasLootMenuItem_6:Show(); --Druid AtlasLootMenuItem_7_Name:SetText("|cffff7c0a" .. AL["Druid"]); AtlasLootMenuItem_7_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_7_Icon, "druid"); + AtlasLootMenuItem_7_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\druid"); AtlasLootMenuItem_7.lootpage = "T35Druid"; AtlasLootMenuItem_7.container = data.T35DruidC AtlasLootMenuItem_7:Show(); --Hunter AtlasLootMenuItem_18_Name:SetText("|cffaad372" .. AL["Hunter"]); AtlasLootMenuItem_18_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_18_Icon, "hunter"); + AtlasLootMenuItem_18_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\hunter"); AtlasLootMenuItem_18.lootpage = "T35Hunter"; AtlasLootMenuItem_18.container = data.T35HunterC AtlasLootMenuItem_18:Show(); --Shaman AtlasLootMenuItem_19_Name:SetText("|cff2773ff" .. AL["Shaman"]); AtlasLootMenuItem_19_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_19_Icon, "shaman") + AtlasLootMenuItem_19_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\shaman") AtlasLootMenuItem_19.lootpage = "T35Shaman"; AtlasLootMenuItem_19.container = data.T35ShamanC AtlasLootMenuItem_19:Show(); --Paladin AtlasLootMenuItem_20_Name:SetText("|cfff48cba" .. AL["Paladin"]); AtlasLootMenuItem_20_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_20_Icon, "paladin"); + AtlasLootMenuItem_20_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\paladin"); AtlasLootMenuItem_20.lootpage = "T35Paladin"; AtlasLootMenuItem_20.container = data.T35PaladinC AtlasLootMenuItem_20:Show(); --Warrior AtlasLootMenuItem_21_Name:SetText("|cffc69b6d" .. AL["Warrior"]); AtlasLootMenuItem_21_Extra:SetText(""); - AtlasLoot_SetClassIcon(AtlasLootMenuItem_21_Icon, "warrior"); + AtlasLootMenuItem_21_Icon:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\warrior"); AtlasLootMenuItem_21.lootpage = "T35Warrior"; AtlasLootMenuItem_21.container = data.T35WarriorC AtlasLootMenuItem_21:Show(); for i = 1, 30 do - if getglobal("AtlasLootMenuItem_"..i).container then + local button = getglobal("AtlasLootMenuItem_" .. i) + button.dataSource = AtlasLoot_GetDataSource(button.lootpage) + if button.container then getglobal("AtlasLootMenuItem_"..i.."Border"):Show() end end diff --git a/Core/TextParsing.lua b/Core/TextParsing.lua index 47e2059..e87ef73 100644 --- a/Core/TextParsing.lua +++ b/Core/TextParsing.lua @@ -4,6 +4,7 @@ local AL = AceLibrary("AceLocale-2.2"):new("AtlasLoot"); -- Text replacement function -------------------------------------------------------------------------------- function AtlasLoot_FixText(text) + local gsub = string.gsub --Armour class text = gsub(text, "#a1#", AL["Cloth"]); text = gsub(text, "#a2#", AL["Leather"]); @@ -151,7 +152,6 @@ function AtlasLoot_FixText(text) text = gsub(text, "#st5#", AL["Zolo"]); text = gsub(text, "#st6#", AL["Zul'Lor"]); - -- Misc phrases and mod specific stuff text = gsub(text, "#m1#", AL["Classes"]); text = gsub(text, "#m2#", AL["This Item Begins a Quest"]); @@ -653,14 +653,14 @@ function AtlasLoot_FixText(text) text = gsub(text, "#z5#", AL["UBRS"]); --Currency Icons - text = gsub(text, "#gold#", "Interface\\AddOns\\AtlasLoot\\Images\\gold"); - text = gsub(text, "#silver#", "Interface\\AddOns\\AtlasLoot\\Images\\silver"); - text = gsub(text, "#copper#", "Interface\\AddOns\\AtlasLoot\\Images\\bronze"); - text = gsub(text, "#wsg#", "Interface\\Icons\\INV_Misc_Rune_07"); - text = gsub(text, "#ab#", "Interface\\Icons\\INV_Jewelry_Amulet_07"); - text = gsub(text, "#av#", "Interface\\Icons\\INV_Jewelry_Necklace_21"); - text = gsub(text, "#horde#", "Interface\\AddOns\\AtlasLoot\\Images\\Horde"); - text = gsub(text, "#alliance#", "Interface\\AddOns\\AtlasLoot\\Images\\Alliance"); + -- text = gsub(text, "#gold#", "Interface\\AddOns\\AtlasLoot\\Images\\gold"); + -- text = gsub(text, "#silver#", "Interface\\AddOns\\AtlasLoot\\Images\\silver"); + -- text = gsub(text, "#copper#", "Interface\\AddOns\\AtlasLoot\\Images\\bronze"); + -- text = gsub(text, "#wsg#", "Interface\\Icons\\INV_Misc_Rune_07"); + -- text = gsub(text, "#ab#", "Interface\\Icons\\INV_Jewelry_Amulet_07"); + -- text = gsub(text, "#av#", "Interface\\Icons\\INV_Jewelry_Necklace_21"); + -- text = gsub(text, "#horde#", "Interface\\AddOns\\AtlasLoot\\Images\\Horde"); + -- text = gsub(text, "#alliance#", "Interface\\AddOns\\AtlasLoot\\Images\\Alliance"); text = gsub(text, "#darkmoon#", "Interface\\Icons\\INV_Misc_Ticket_Darkmoon_01"); text = gsub(text, "#ccombat#", "Interface\\Icons\\INV_Jewelry_Talisman_06"); text = gsub(text, "#ctactical#", "Interface\\Icons\\INV_Jewelry_Amulet_02"); diff --git a/Core/WishList.lua b/Core/WishList.lua index 375f6aa..7a34302 100644 --- a/Core/WishList.lua +++ b/Core/WishList.lua @@ -26,14 +26,14 @@ end AtlasLoot_AddToWishlist(itemID, itemTexture, itemName, lootPage, sourcePage) Looks for an empty slot in the wishlist and slots the item in ]] -function AtlasLoot_AddToWishlist(itemID, itemTexture, itemName, lootPage, sourcePage) +function AtlasLoot_AddToWishlist(itemID, itemTexture, itemName, extraText, sourcePage) for _, v in ipairs(AtlasLootCharDB["WishList"]) do if v[1] == itemID then DEFAULT_CHAT_FRAME:AddMessage(BLUE..AL["AtlasLoot"]..": "..AtlasLoot_FixText(itemName)..RED..AL[" already in the WishList!"]); return; end end - table.insert(AtlasLootCharDB["WishList"], { itemID, itemTexture, itemName, lootPage, sourcePage }); + table.insert(AtlasLootCharDB["WishList"], { itemID, itemTexture, itemName, extraText, sourcePage }); DEFAULT_CHAT_FRAME:AddMessage(BLUE..AL["AtlasLoot"]..": "..AtlasLoot_FixText(itemName)..GREY..AL[" added to the WishList."]); AtlasLoot_WishList = AtlasLoot_CategorizeWishList(AtlasLootCharDB["WishList"]); end @@ -174,7 +174,9 @@ function AtlasLoot_GetWishListSubheading(dataID) end function AtlasLoot_GetWishListSubheadingBoss(dataID) - if not AtlasLoot_TableNames then return end + if not AtlasLoot_TableNamesBoss then + return + end local zoneID ; for i, v in pairs(AtlasLoot_TableNamesBoss) do for j,k in pairs(v) do @@ -217,7 +219,7 @@ function AtlasLoot_CategorizeWishList(wlTable) for _, v in pairs(wlTable) do if v[5] and v[5] ~= "" then - local dataID = strsplit("|", v[5]); + local dataID = AtlasLoot_Strsplit("|", v[5]); -- Build subheading table if not subheadings[dataID] then subheadings[dataID] = AtlasLoot_GetWishListSubheadingBoss(dataID); @@ -245,7 +247,7 @@ function AtlasLoot_CategorizeWishList(wlTable) -- some debug code that I've used to fix WishList errors before due to people adding drops to AtlasLoot incorrectly. local box = k or "Unknown" local cat = categories[k][1][5] or "Unknown" - local parent = GetLootTableParent(strsplit("|", cat)) or "Unknown" + local parent = GetLootTableParent(AtlasLoot_Strsplit("|", cat)) or "Unknown" --print("box: "..box.." - cat: "..cat) table.insert(result, { 0, "INV_Box_01", "=q6="..box, "=q0="..parent }); diff --git a/Images/druid.tga b/Images/druid.tga new file mode 100644 index 0000000000000000000000000000000000000000..6de3d7a0dbf63e3ec9bd925d6877b4bb4914ec37 GIT binary patch literal 11890 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 Mm4k<#AJ}dF2Vzj!P5=M^ literal 0 HcmV?d00001 diff --git a/Images/mage.tga b/Images/mage.tga new file mode 100644 index 0000000000000000000000000000000000000000..34c61c5dc9397c4a1785557e3bb5cd8890cc4132 GIT binary patch literal 11858 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 literal 0 HcmV?d00001 diff --git a/Images/rogue.tga b/Images/rogue.tga new file mode 100644 index 0000000000000000000000000000000000000000..31891ea02ffcdbd45daad1d5857eb05698b9c0a1 GIT binary patch literal 10377 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 OY3q6F>76^CF#ij|VSVlZ literal 0 HcmV?d00001 diff --git a/Images/shaman.tga b/Images/shaman.tga new file mode 100644 index 0000000000000000000000000000000000000000..1a0756c7a6514810a39fc39ace1a414ab5235bbe GIT binary patch literal 11401 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 Q|Mc=;<;Bx4o%&nz|IUwtX#fBK literal 0 HcmV?d00001 diff --git a/Images/warlock.tga b/Images/warlock.tga new file mode 100644 index 0000000000000000000000000000000000000000..c420227e821f4890727024a207921ef5d04d1c0d GIT binary patch literal 11107 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 Ozd!TjQ^$_(Gye|;N?eWr literal 0 HcmV?d00001 diff --git a/Images/warrior.tga b/Images/warrior.tga new file mode 100644 index 0000000000000000000000000000000000000000..669509c778c8d4a27a807dd6a95ffa0aa50d6418 GIT binary patch literal 11747 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 Li#vDsK5PCDe|?6H literal 0 HcmV?d00001 diff --git a/Instances/instances.en.lua b/Instances/instances.en.lua index 7600395..a4826da 100644 --- a/Instances/instances.en.lua +++ b/Instances/instances.en.lua @@ -1395,39 +1395,39 @@ AtlasLoot_Data["AtlasLootItems"] = { { 19352, "INV_Sword_51", "=q4=Chromatically Tempered Sword", "=ds=#h1#, #w10#", "10%" }, }; BWLNefarian = { --https://database.turtle-wow.org/?npc=11583 - { 16923, "INV_Chest_Cloth_03", "=q4=Robes of Transcendence", "=ds=#s1#, #a1# =q9=#c5#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16923, "INV_Chest_Cloth_03", "=q4=Robes of Transcendence", "=ds=#s5#, #a1# =q9=#c5#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47208,"=ds=#s5#, #a1# =q7=#db24#"}, }, }, }, - { 16916, "INV_Chest_Cloth_03", "=q4=Netherwind Robes", "=ds=#s1#, #a1# =q10=#c3#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16916, "INV_Chest_Cloth_03", "=q4=Netherwind Robes", "=ds=#s5#, #a1# =q10=#c3#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47088,"=ds=#s5#, #a1# =q7=#db24#"}, }, }, }, - { 16931, "INV_Chest_Leather_01", "=q4=Nemesis Robes", "=ds=#s1#, #a1# =q11=#c8#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16931, "INV_Chest_Leather_01", "=q4=Nemesis Robes", "=ds=#s5#, #a1# =q11=#c8#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47286,"=ds=#s5#, #a1# =q7=#db24#"}, }, }, }, - { 16905, "INV_Chest_Cloth_07", "=q4=Bloodfang Chestpiece", "=ds=#s1#, #a2# =q12=#c6#", "11%" }, - { 16897, "INV_Chest_Chain_16", "=q4=Stormrage Chestguard", "=ds=#s1#, #a2# =q13=#c1#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16905, "INV_Chest_Cloth_07", "=q4=Bloodfang Chestpiece", "=ds=#s5#, #a2# =q12=#c6#", "11%" }, + { 16897, "INV_Chest_Chain_16", "=q4=Stormrage Chestguard", "=ds=#s5#, #a2# =q13=#c1#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47348,"=ds=#s5#, #a2# =q7=#db24#"},{47356,"=ds=#s5#, #a2# =q7=#db24#"}, }, }, }, - { 16942, "INV_Chest_Chain_03", "=q4=Dragonstalker's Breastplate", "=ds=#s1#, #a3# =q14=#c2#", "11%" }, - { 16950, "INV_Chest_Chain_11", "=q4=Breastplate of Ten Storms", "=ds=#s1#, #a3# =q15=#c7#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16942, "INV_Chest_Chain_03", "=q4=Dragonstalker's Breastplate", "=ds=#s5#, #a3# =q14=#c2#", "11%" }, + { 16950, "INV_Chest_Chain_11", "=q4=Breastplate of Ten Storms", "=ds=#s5#, #a3# =q15=#c7#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47138,"=ds=#s5#, #a3# =q7=#db24#"},{47146,"=ds=#s5#, #a3# =q7=#db24#"}, }, }, }, - { 16958, "INV_Chest_Plate03", "=q4=Judgement Breastplate", "=ds=#s1#, #a4# =q16=#c4#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16958, "INV_Chest_Plate03", "=q4=Judgement Breastplate", "=ds=#s5#, #a4# =q16=#c4#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47018,"=ds=#s5#, #a4# =q7=#db24#"},{47026,"=ds=#s5#, #a4# =q7=#db24#"}, }, }, }, - { 16966, "INV_Chest_Plate16", "=q4=Breastplate of Wrath", "=ds=#s1#, #a4# =q17=#c9#", "11%", "", "", "", "", "", "", "", "", "", "", {{ + { 16966, "INV_Chest_Plate16", "=q4=Breastplate of Wrath", "=ds=#s5#, #a4# =q17=#c9#", "11%", "", "", "", "", "", "", "", "", "", "", {{ {47250,"=ds=#s5#, #a4# =q7=#db24#"}, }, }, diff --git a/Locale/locale.en.lua b/Locale/locale.en.lua index f880ad2..be4b7e3 100644 --- a/Locale/locale.en.lua +++ b/Locale/locale.en.lua @@ -1609,5 +1609,7 @@ AL:RegisterTranslations("enUS", function() return { ["Tier 3.5"] = true, ["Karazhan Sets"] = true, ["Cla'ckora"] = true, - } + ["Hinterlands"] = true, + ["Duskwood"] = true, + } end) diff --git a/Sets/sets.lua b/Sets/sets.lua index 7fc0d0e..cfb11df 100644 --- a/Sets/sets.lua +++ b/Sets/sets.lua @@ -1729,7 +1729,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Mage = { { 0, "", "", "" }, - { 0, "Spell_Frost_IceStorm", "=q10=#t0s3#", "" }, + { 0, "CLASSmage", "=q10=#t0s3#", "" }, { 0, "", "", "" }, { 16686, "INV_Crown_02", "=q3=Magister's Crown", "=ds=#s1#, #a1# =q7=#db33#" }, { 16689, "INV_Shoulder_23", "=q3=Magister's Mantle", "=ds=#s3#, #a1# =q7=#db36#" }, @@ -1744,7 +1744,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Spell_Frost_IceStorm", "=q10=#t05s3#", "" }, + { 0, "CLASSmage", "=q10=#t05s3#", "" }, { 0, "", "", "" }, { 22065, "INV_Crown_02", "=q4=Sorcerer's Crown", "=ds=#s1#, #a1#" }, { 22068, "INV_Shoulder_23", "=q3=Sorcerer's Mantle", "=ds=#s3#, #a1#" }, @@ -1765,7 +1765,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Priest = { { 0, "", "", "" }, - { 0, "Spell_Holy_PowerWordShield", "=q9=#t0s5#", "" }, + { 0, "CLASSpriest", "=q9=#t0s5#", "" }, { 0, "", "", "" }, { 16693, "INV_Crown_01", "=q3=Devout Crown", "=ds=#s1#, #a1# =q7=#db33#" }, { 16695, "INV_Shoulder_02", "=q3=Devout Mantle", "=ds=#s3#, #a1# =q7=#db39#" }, @@ -1780,7 +1780,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Spell_Holy_PowerWordShield", "=q9=#t05s5#", "" }, + { 0, "CLASSpriest", "=q9=#t05s5#", "" }, { 0, "", "", "" }, { 22080, "INV_Crown_01", "=q4=Virtuous Crown", "=ds=#s1#, #a1#" }, { 22082, "INV_Shoulder_02", "=q3=Virtuous Mantle", "=ds=#s3#, #a1#" }, @@ -1801,7 +1801,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Warlock = { { 0, "", "", "" }, - { 0, "Spell_Shadow_CurseOfTounges", "=q11=#t0s8#", "" }, + { 0, "CLASSwarlock", "=q11=#t0s8#", "" }, { 0, "", "", "" }, { 16698, "INV_Helmet_29", "=q3=Dreadmist Mask", "=ds=#s1#, #a1# =q7=#db33#" }, { 16701, "INV_Misc_Bone_TaurenSkull_01", "=q3=Dreadmist Mantle", "=ds=#s3#, #a1# =q7=#db42#" }, @@ -1816,7 +1816,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Spell_Shadow_CurseOfTounges", "=q11=#t05s8#", "" }, + { 0, "CLASSwarlock", "=q11=#t05s8#", "" }, { 0, "", "", "" }, { 22074, "INV_Helmet_29", "=q4=Deathmist Mask", "=ds=#s1#, #a1#" }, { 22073, "INV_Misc_Bone_TaurenSkull_01", "=q3=Deathmist Mantle", "=ds=#s3#, #a1#" }, @@ -1837,7 +1837,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Rogue = { { 0, "", "", "" }, - { 0, "Ability_BackStab", "=q12=#t0s6#", "" }, + { 0, "CLASSrogue", "=q12=#t0s6#", "" }, { 0, "", "", "" }, { 16707, "INV_Helmet_41", "=q3=Shadowcraft Cap", "=ds=#s1#, #a2# =q7=#db33#" }, { 16708, "INV_Shoulder_07", "=q3=Shadowcraft Spaulders", "=ds=#s3#, #a2# =q7=#db45#" }, @@ -1852,7 +1852,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Ability_BackStab", "=q12=#t05s6#", "" }, + { 0, "CLASSrogue", "=q12=#t05s6#", "" }, { 0, "", "", "" }, { 22005, "INV_Helmet_41", "=q4=Darkmantle Cap", "=ds=#s1#, #a2#" }, { 22008, "INV_Shoulder_07", "=q3=Darkmantle Spaulders", "=ds=#s3#, #a2#" }, @@ -1873,7 +1873,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Druid = { { 0, "", "", "" }, - { 0, "Spell_Nature_Regeneration", "=q13=#t0s1#", "" }, + { 0, "CLASSdruid", "=q13=#t0s1#", "" }, { 0, "", "", "" }, { 16720, "INV_Helmet_27", "=q3=Wildheart Cowl", "=ds=#s1#, #a2# =q7=#db33#" }, { 16718, "INV_Shoulder_01", "=q3=Wildheart Spaulders", "=ds=#s3#, #a2# =q7=#db49#" }, @@ -1888,7 +1888,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Spell_Nature_Regeneration", "=q13=#t05s1#", "" }, + { 0, "CLASSdruid", "=q13=#t05s1#", "" }, { 0, "", "", "" }, { 22109, "INV_Helmet_27", "=q4=Feralheart Cowl", "=ds=#s1#, #a2#" }, { 22112, "INV_Shoulder_01", "=q3=Feralheart Spaulders", "=ds=#s3#, #a2#" }, @@ -1909,7 +1909,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Hunter = { { 0, "", "", "" }, - { 0, "Ability_Hunter_RunningShot", "=q14=#t0s2#", "" }, + { 0, "CLASShunter", "=q14=#t0s2#", "" }, { 0, "", "", "" }, { 16677, "INV_Helmet_24", "=q3=Beaststalker's Cap", "=ds=#s1#, #a3# =q7=#db33#" }, { 16679, "INV_Shoulder_10", "=q3=Beaststalker's Mantle", "=ds=#s3#, #a3# =q7=#db53#" }, @@ -1924,7 +1924,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Ability_Hunter_RunningShot", "=q14=#t05s2#", "" }, + { 0, "CLASShunter", "=q14=#t05s2#", "" }, { 0, "", "", "" }, { 22013, "INV_Helmet_24", "=q4=Beastmaster's Cap", "=ds=#s1#, #a3#" }, { 22016, "INV_Shoulder_10", "=q3=Beastmaster's Mantle", "=ds=#s3#, #a3#" }, @@ -1945,7 +1945,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Shaman = { { 0, "", "", "" }, - { 0, "Spell_FireResistanceTotem_01", "=q15=#t0s7#", "" }, + { 0, "CLASSshaman", "=q15=#t0s7#", "" }, { 0, "", "", "" }, { 16667, "INV_Helmet_04", "=q3=Coif of Elements", "=ds=#s1#, #a3# =q7=#db33#" }, { 16669,"INV_Shoulder_29","=q3=Pauldrons of Elements", "=ds=#s3#, #a3# =q7=#db56#" }, @@ -1960,7 +1960,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Spell_FireResistanceTotem_01", "=q15=#t05s7#", "" }, + { 0, "CLASSshaman", "=q15=#t05s7#", "" }, { 0, "", "", "" }, { 22097, "INV_Helmet_04", "=q4=Coif of The Five Thunders", "=ds=#s1#, #a3#" }, { 22101,"INV_Shoulder_29","=q3=Pauldrons of The Five Thunders","=ds=#s3#, #a3#" }, @@ -1981,7 +1981,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Warrior = { { 0, "", "", "" }, - { 0, "INV_Shield_05", "=q17=#t0s9#", "" }, + { 0, "CLASSwarrior", "=q17=#t0s9#", "" }, { 0, "", "", "" }, { 16731, "INV_Helmet_02", "=q3=Helm of Valor", "=ds=#s1#, #a4# =q7=#db33#" }, { 16733,"INV_Shoulder_30","=q3=Spaulders of Valor", "=ds=#s3#, #a4# =q7=#db59#" }, @@ -1996,7 +1996,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "INV_Shield_05", "=q17=#t05s9#", "" }, + { 0, "CLASSwarrior", "=q17=#t05s9#", "" }, { 0, "", "", "" }, { 21999, "INV_Helmet_02", "=q4=Helm of Heroism", "=ds=#s1#, #a4#" }, { 22001,"INV_Shoulder_30","=q3=Spaulders of Heroism","=ds=#s3#, #a4#" }, @@ -2017,7 +2017,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, T0Paladin = { { 0, "", "", "" }, - { 0, "Spell_Holy_SealOfMight", "=q16=#t0s4#", "" }, + { 0, "CLASSpaladin", "=q16=#t0s4#", "" }, { 0, "", "", "" }, { 16727, "INV_Helmet_08", "=q3=Lightforge Helm", "=ds=#s1#, #a4# =q7=#db33#" }, { 16729,"INV_Shoulder_10","=q3=Lightforge Spaulders", "=ds=#s3#, #a4# =q7=#db62#" }, @@ -2032,7 +2032,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { { 0, "", "", "" }, { 0, "", "", "" }, { 0, "", "", "" }, - { 0, "Spell_Holy_SealOfMight", "=q16=#t05s4#", "" }, + { 0, "CLASSpaladin", "=q16=#t05s4#", "" }, { 0, "", "", "" }, { 22091, "INV_Helmet_08", "=q4=Soulforge Helm", "=ds=#s1#, #a4#" }, { 22093, "INV_Shoulder_10","=q3=Soulforge Spaulders", "=ds=#s3#, #a4#" }, @@ -2053,7 +2053,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGMage = { { 0, "", "", "" }, - { 0,"Spell_Frost_IceStorm", "=q10=#zgs3#","" }, + { 0,"CLASSmage", "=q10=#zgs3#","" }, { 0, "", "", "" }, { 19959, "INV_Jewelry_Necklace_19", "=q4=Hazza'rah's Charm of Magic", "=ds=#s14#" }, { 19601, "INV_Jewelry_Necklace_26", "=q4=Jewel of Kajaro", "=ds=#r5#" }, @@ -2071,7 +2071,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGWarlock = { { 0, "", "", "" }, - { 0,"Spell_Shadow_CurseOfTounges", "=q11=#zgs8#","" }, + { 0,"CLASSwarlock", "=q11=#zgs8#","" }, { 0, "", "", "" }, { 19957, "INV_Jewelry_Necklace_19", "=q4=Hazza'rah's Charm of Destruction", "=ds=#s14#" }, { 19605, "INV_Jewelry_Necklace_26", "=q4=Kezan's Unstoppable Taint", "=ds=#r5#" }, @@ -2089,7 +2089,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGPriest = { { 0, "", "", "" }, - { 0,"Spell_Holy_PowerWordShield", "=q9=#zgs5#","" }, + { 0,"CLASSpriest", "=q9=#zgs5#","" }, { 0, "", "", "" }, { 19958, "INV_Jewelry_Necklace_19", "=q4=Hazza'rah's Charm of Healing", "=ds=#s14#" }, { 19594, "INV_Jewelry_Necklace_26", "=q4=The All-Seeing Eye of Zuldazar", "=ds=#r5#" }, @@ -2107,7 +2107,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGRogue = { { 0, "", "", "" }, - { 0,"Ability_BackStab", "=q12=#zgs6#","" }, + { 0,"CLASSrogue", "=q12=#zgs6#","" }, { 0, "", "", "" }, { 19954, "INV_Jewelry_Necklace_19", "=q4=Renataki's Charm of Trickery", "=ds=#s14#" }, { 19617, "INV_Jewelry_Necklace_26", "=q4=Zandalarian Shadow Mastery Talisman", "=ds=#r5#" }, @@ -2125,7 +2125,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGDruid = { { 0, "", "", "" }, - { 0,"Spell_Nature_Regeneration", "=q13=#zgs1#","" }, + { 0,"CLASSdruid", "=q13=#zgs1#","" }, { 0, "", "", "" }, { 19955, "INV_Jewelry_Necklace_19", "=q4=Wushoolay's Charm of Nature", "=ds=#s14#" }, { 19613, "INV_Jewelry_Necklace_26", "=q4=Pristine Enchanted South Seas Kelp", "=ds=#r5#" }, @@ -2143,7 +2143,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGHunter = { { 0, "", "", "" }, - { 0,"Ability_Hunter_RunningShot", "=q14=#zgs2#","" }, + { 0,"CLASShunter", "=q14=#zgs2#","" }, { 0, "", "", "" }, { 19953, "INV_Jewelry_Necklace_19", "=q4=Renataki's Charm of Beasts", "=ds=#s14#" }, { 19621, "INV_Jewelry_Necklace_26", "=q4=Maelstrom's Wrath", "=ds=#r5#" }, @@ -2161,7 +2161,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGShaman = { { 0, "", "", "" }, - { 0,"Spell_FireResistanceTotem_01", "=q15=#zgs7#","" }, + { 0,"CLASSshaman", "=q15=#zgs7#","" }, { 0, "", "", "" }, { 19956, "INV_Jewelry_Necklace_19", "=q4=Wushoolay's Charm of Spirits", "=ds=#s14#" }, { 19609, "INV_Jewelry_Necklace_26", "=q4=Unmarred Vision of Voodress", "=ds=#r5#" }, @@ -2179,7 +2179,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, ZGWarrior = { { 0, "", "", "" }, - { 0,"INV_Shield_05", "=q17=#zgs9#","" }, + { 0,"CLASSwarrior", "=q17=#zgs9#","" }, { 19951, "INV_Jewelry_Necklace_19", "=q4=Gri'lek's Charm of Might", "=ds=#s14#" }, { 19577, "INV_Jewelry_Necklace_26", "=q4=Rage of Mugamba", "=ds=#r5#" }, { 19822, "INV_Chest_Plate07", "=q4=Zandalar Vindicator's Breastplate", "=q4=#x10#=ds=, #r4#" }, @@ -2195,7 +2195,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { } }, ZGPaladin = { - { 0,"Spell_Holy_SealOfMight", "=q16=#zgs4#","" }, + { 0,"CLASSpaladin", "=q16=#zgs4#","" }, { 0, "", "", "" }, { 19952, "INV_Jewelry_Necklace_19", "=q4=Gri'lek's Charm of Valor", "=ds=#s14#" }, { 19588, "INV_Jewelry_Necklace_26", "=q4=Hero's Brand", "=ds=#r5#" }, @@ -2213,7 +2213,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Mage = { { 0, "", "", "" }, - { 0,"Spell_Frost_IceStorm", "=q10=#aq20s3#","" }, + { 0,"CLASSmage", "=q10=#aq20s3#","" }, { 0, "", "", "" }, { 21413, "INV_Sword_57", "=q4=Blade of Vaulted Secrets", "=q4=#x19#=ds=, #r5#" }, { 21415, "INV_Misc_Cape_19", "=q4=Drape of Vaulted Secrets", "=q3=#x20#=ds=, #r4#" }, @@ -2227,7 +2227,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Warlock = { { 0, "", "", "" }, - { 0,"Spell_Shadow_CurseOfTounges", "=q11=#aq20s8#","" }, + { 0,"CLASSwarlock", "=q11=#aq20s8#","" }, { 0, "", "", "" }, { 21416, "INV_Weapon_ShortBlade_27", "=q4=Kris of Unspoken Names", "=q4=#x19#=ds=, #r5#" }, { 21418, "INV_Misc_Cape_20", "=q4=Shroud of Unspoken Names", "=q3=#x23#=ds=, #r4#" }, @@ -2241,7 +2241,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Priest = { { 0, "", "", "" }, - { 0,"Spell_Holy_PowerWordShield", "=q9=#aq20s5#","" }, + { 0,"CLASSpriest", "=q9=#aq20s5#","" }, { 0, "", "", "" }, { 21410, "INV_Mace22", "=q4=Gavel of Infinite Wisdom", "=q4=#x19#=ds=, #r5#" }, { 21412, "INV_Misc_Cape_16", "=q4=Shroud of Infinite Wisdom", "=q3=#x20#=ds=, #r4#" }, @@ -2255,7 +2255,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Rogue = { { 0, "", "", "" }, - { 0,"Ability_BackStab", "=q12=#aq20s6#","" }, + { 0,"CLASSrogue", "=q12=#aq20s6#","" }, { 0, "", "", "" }, { 21404, "INV_Weapon_ShortBlade_27", "=q4=Dagger of Veiled Shadows", "=q4=#x24#=ds=, #r5#" }, { 21406, "INV_Misc_Cape_19", "=q4=Cloak of Veiled Shadows", "=q3=#x20#=ds=, #r4#" }, @@ -2269,7 +2269,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Druid = { { 0, "", "", "" }, - { 0,"Spell_Nature_Regeneration", "=q13=#aq20s1#","" }, + { 0,"CLASSdruid", "=q13=#aq20s1#","" }, { 0, "", "", "" }, { 21407, "INV_Mace22", "=q4=Mace of Unending Life", "=q4=#x19#=ds=, #r5#" }, { 21409, "INV_Misc_Cape_15", "=q4=Cloak of Unending Life", "=q3=#x23#=ds=, #r4#" }, @@ -2283,7 +2283,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Hunter = { { 0, "", "", "" }, - { 0,"Ability_Hunter_RunningShot", "=q14=#aq20s2#","" }, + { 0,"CLASShunter", "=q14=#aq20s2#","" }, { 0, "", "", "" }, { 21401, "INV_Axe_15", "=q4=Scythe of the Unseen Path", "=q4=#x24#=ds=, #r5#" }, { 21403, "INV_Misc_Cape_15", "=q4=Cloak of the Unseen Path", "=q3=#x23#=ds=, #r4#" }, @@ -2297,7 +2297,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Paladin = { { 0, "", "", "" }, - { 0,"Spell_Holy_SealOfMight", "=q16=#aq20s4#","" }, + { 0,"CLASSpaladin", "=q16=#aq20s4#","" }, { 0, "", "", "" }, { 21395, "INV_Sword_57", "=q4=Blade of Eternal Justice", "=q4=#x24#=ds=, #r5#" }, { 21397, "INV_Misc_Cape_14", "=q4=Cape of Eternal Justice", "=q3=#x23#=ds=, #r4#" }, @@ -2311,7 +2311,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Shaman = { { 0, "", "", "" }, - { 0,"Spell_FireResistanceTotem_01", "=q15=#aq20s7#","" }, + { 0,"CLASSshaman", "=q15=#aq20s7#","" }, { 0, "", "", "" }, { 21398, "INV_Mace22", "=q4=Hammer of the Gathering Storm", "=q4=#x24#=ds=, #r5#" }, { 21400, "INV_Misc_Cape_16", "=q4=Cloak of the Gathering Storm", "=q3=#x23#=ds=, #r4#" }, @@ -2325,7 +2325,7 @@ AtlasLoot_Data["AtlasLootSetItems"] = { }, AQ20Warrior = { { 0, "", "", "" }, - { 0,"INV_Shield_05", "=q17=#aq20s9#","" }, + { 0,"CLASSwarrior", "=q17=#aq20s9#","" }, { 0, "", "", "" }, { 21392, "INV_Axe_15", "=q4=Sickle of Unyielding Strength", "=q4=#x24#=ds=, #r5#" }, { 21394, "INV_Misc_Cape_20", "=q4=Drape of Unyielding Strength", "=q3=#x20#=ds=, #r4#" }, diff --git a/TableRegister/loottables.en.lua b/TableRegister/loottables.en.lua index 509fdd5..9b47f21 100644 --- a/TableRegister/loottables.en.lua +++ b/TableRegister/loottables.en.lua @@ -506,11 +506,9 @@ AtlasLoot_TableNames = { ["LKHMoroes"] = { AL["Lower Karazhan Halls"].." - "..AL["Moroes"], "AtlasLootItems" }, ["LKHTrash"] = { AL["Lower Karazhan Halls"].." - "..AL["Trash Mobs"], "AtlasLootItems" }, ["LKHEnchants"] = { AL["Lower Karazhan Halls"].." - ".."Enchants", "AtlasLootItems" }, - ------------ --- Sets --- ------------ - --Vanilla WoW Sets ["DEADMINES"] = { AL["The Deadmines"], "AtlasLootSetItems" }, ["WAILING"] = { AL["Wailing Caverns"], "AtlasLootSetItems" }, @@ -652,39 +650,31 @@ AtlasLoot_TableNames = { ------------------------ --- Misc Collections --- ------------------------ - ["CraftedWeapons1"] = { AL["Crafted Epic Weapons"], "AtlasLootCrafting" }, ["WorldEpics1"] = { AL["World Epics"] .. " - " .. AL["Level 30-39"], "AtlasLootSetItems" }, ["WorldEpics2"] = { AL["World Epics"] .. " - " .. AL["Level 40-49"], "AtlasLootSetItems" }, ["WorldEpics3"] = { AL["World Epics"] .. " - " .. AL["Level 50-60"], "AtlasLootSetItems" }, - -------------------- --- World Bosses --- -------------------- - - --Azuregos - ["AAzuregos"] = { AL["Azuregos"], "AtlasLootWBItems" }, - ["ASpiritA"] = { AL["Spirit of Azuregos"], "AtlasLootWBItems" }, + ["AAzuregos"] = { AL["Azshara"].. " - " ..AL["Azuregos"], "AtlasLootWBItems" }, + ["ASpiritA"] = { AL["Azshara"].. " - " ..AL["Spirit of Azuregos"], "AtlasLootWBItems" }, --["Turtlhu"] = { "Turtlhu, the Black Turtle of Doom", "AtlasLootWBItems" }, - ["Nerubian"] = { "Nerubian Overseer", "AtlasLootWBItems" }, - ["Reaver"] = { "Dark Reaver of Karazhan", "AtlasLootWBItems" }, - ["Ostarius"] = { "Ostarius", "AtlasLootWBItems" }, - ["Concavius"] = { "Concavius", "AtlasLootWBItems" }, - ["CowKing"] = { "Moo", "AtlasLootWBItems" }, - --Doom Lord Kazzak - ["KKazzak"] = { AL["Lord Kazzak"], "AtlasLootWBItems" }, - --Emrald Dragons - ["DEmeriss"] = { AL["Emeriss"], "AtlasLootWBItems" }, - ["DLethon"] = { AL["Lethon"], "AtlasLootWBItems" }, - ["DTaerar"] = { AL["Taerar"], "AtlasLootWBItems" }, - ["DYsondre"] = { AL["Ysondre"], "AtlasLootWBItems" }, - ["DTrash"] = { AL["Emerald Dragons"].." - "..AL["Trash Mobs"], "AtlasLootWBItems" }, - ["Clackora"] = { "Cla'ckora", "AtlasLootWBItems" }, - - - -------------------------- - --- Rare Spawns (1.16) --- - -------------------------- + ["Nerubian"] = { AL["Eastern Plaguelands"].. " - " ..AL["Nerubian Overseer"], "AtlasLootWBItems" }, + ["Reaver"] = { AL["Deadwind Pass"].. " - " ..AL["Dark Reaver of Karazhan"], "AtlasLootWBItems" }, + ["Ostarius"] = { AL["Tanaris"].. " - " ..AL["Ostarius"], "AtlasLootWBItems" }, + ["Concavius"] = { AL["Desolace"].. " - " ..AL["Concavius"], "AtlasLootWBItems" }, + ["CowKing"] = { AL["Moomoo Grove"].. " - " ..AL["Moo"], "AtlasLootWBItems" }, + ["KKazzak"] = { AL["Blasted Lands"].. " - " ..AL["Lord Kazzak"], "AtlasLootWBItems" }, + ["DEmeriss"] = { AL["Ashenvale"].."/"..AL["Duskwood"].."/"..AL["Feralas"].."/"..AL["Hinterlands"].. " - " ..AL["Emeriss"], "AtlasLootWBItems" }, + ["DLethon"] = { AL["Ashenvale"].."/"..AL["Duskwood"].."/"..AL["Feralas"].."/"..AL["Hinterlands"].. " - " ..AL["Lethon"], "AtlasLootWBItems" }, + ["DTaerar"] = { AL["Ashenvale"].."/"..AL["Duskwood"].."/"..AL["Feralas"].."/"..AL["Hinterlands"].. " - " ..AL["Taerar"], "AtlasLootWBItems" }, + ["DYsondre"] = { AL["Ashenvale"].."/"..AL["Duskwood"].."/"..AL["Feralas"].."/"..AL["Hinterlands"].. " - " ..AL["Ysondre"], "AtlasLootWBItems" }, + ["DTrash"] = { AL["Emerald Dragons"].. " - " ..AL["Trash Mobs"], "AtlasLootWBItems" }, + ["Clackora"] = { AL["Azshara"].. " - " ..AL["Cla'ckora"], "AtlasLootWBItems" }, + ------------------- + --- Rare Spawns --- + ------------------- ["Tarangos"] = { "Tarangos The Dampener", "AtlasLootWBItems" }, ["Kargron"] = { "Blademaster Kargron", "AtlasLootWBItems" }, ["Xalvic"] = { "Xalvic Blackclaw", "AtlasLootWBItems" }, @@ -696,10 +686,6 @@ AtlasLoot_TableNames = { ["Jalakar"] = { "Jal'akar Dire Troll", "AtlasLootWBItems" }, ["Ashbeard"] = { "Explorer Ashbeard", "AtlasLootWBItems" }, ["AdmiralBareanWestwind"] = { "Admiral Barean Westwind", "AtlasLootWBItems" }, - - -------------------------- - --- Rare Spawns (1.17) --- - -------------------------- ["EarthcallerRezengal"] = { "Earthcaller Rezengal", "AtlasLootWBItems" }, ["ShadeMage"] = { "Shade Mage", "AtlasLootWBItems" }, ["GraypawAlpha"] = { "Graypaw Alpha", "AtlasLootWBItems" }, @@ -725,21 +711,13 @@ AtlasLoot_TableNames = { ["M0L1Y"] = { "M-0L1Y", "AtlasLootWBItems" }, ["WidowoftheWoods"] = { "Widow of the Woods", "AtlasLootWBItems" }, ["KinTozo"] = { "Kin'Tozo", "AtlasLootWBItems" }, - - ---------------------------- - --- Rare Spawns (1.17.1) --- - ---------------------------- ["ProfessorLysander"] = { "Professor Lysander", "AtlasLootWBItems" }, - -------------- --- Events --- -------------- - - --Abyssal Council ["AbyssalTemplars"] = { "Abyssal Council - Templars", "AtlasLootWorldEvents" }, ["AbyssalDukes"] = { "Abyssal Council - Dukes", "AtlasLootWorldEvents" }, ["AbyssalLords"] = { "Abyssal Council - Lords", "AtlasLootWorldEvents" }, - --Seasonal ["ChildrensWeek"] = { AL["Children's Week"], "AtlasLootWorldEvents" }, ["Halloween1"] = { AL["Hallow's End"], "AtlasLootWorldEvents" }, ["Halloween2"] = { AL["Hallow's End"], "AtlasLootWorldEvents" }, @@ -752,60 +730,40 @@ AtlasLoot_TableNames = { ["Winterviel"] = { AL["Feast of Winter Veil"], "AtlasLootWorldEvents" }, ["Winterviel1"] = { AL["Feast of Winter Veil"], "AtlasLootWorldEvents" }, ["Winterviel2"] = { AL["Feast of Winter Veil"], "AtlasLootWorldEvents" }, - --Other ["ElementalInvasion"] = { AL["Elemental Invasion"], "AtlasLootWorldEvents" }, ["FishingExtravaganza"] = { AL["Stranglethorn Fishing Extravaganza"], "AtlasLootWorldEvents" }, ["GurubashiArena"] = { AL["Gurubashi Arena"], "AtlasLootWorldEvents" }, ["ScourgeInvasionEvent1"] = { AL["Scourge Invasion"], "AtlasLootWorldEvents" }, ["ScourgeInvasionEvent2"] = { AL["Scourge Invasion Bosses"], "AtlasLootWorldEvents" }, - ------------------------ --- Classic Factions --- ------------------------ - --Argent Dawn ["Argent1"] = { AL["Argent Dawn"] .. " - Token Hand-ins", "AtlasLootRepItems" }, ["Argent2"] = { AL["Argent Dawn"], "AtlasLootRepItems" }, ["Argent3"] = { AL["Argent Dawn"], "AtlasLootRepItems" }, - --Bloodsail Buccaneers ["Bloodsail1"] = { AL["Bloodsail Buccaneers"], "AtlasLootRepItems" }, - --Brood of Nozdormu ["AQBroodRings"] = { AL["Brood of Nozdormu"], "AtlasLootRepItems" }, - --Cenarion Circle ["Cenarion1"] = { AL["Cenarion Circle"] .. " - " .. AL["Friendly"], "AtlasLootRepItems" }, ["Cenarion2"] = { AL["Cenarion Circle"] .. " - " .. AL["Honored"], "AtlasLootRepItems" }, ["Cenarion3"] = { AL["Cenarion Circle"] .. " - " .. AL["Revered"], "AtlasLootRepItems" }, ["Cenarion4"] = { AL["Cenarion Circle"] .. " - " .. AL["Exalted"], "AtlasLootRepItems" }, - --The Darkmoon Faire ["Darkmoon"] = { AL["Darkmoon Faire"], "AtlasLootRepItems" }, - --The Defilers ["Defilers"] = { AL["The Defilers"], "AtlasLootRepItems" }, - --Frostwolf Clan ["Frostwolf1"] = { AL["Frostwolf Clan"], "AtlasLootRepItems" }, - --Hydraxian Waterlords ["WaterLords1"] = { AL["Hydraxian Waterlords"], "AtlasLootRepItems" }, - --Gelkis Clan Centaur ["GelkisClan1"] = { AL["Gelkis Clan Centaur"], "AtlasLootRepItems" }, - --The League of Arathor ["LeagueofArathor"] = { AL["The League of Arathor"], "AtlasLootRepItems" }, - --Magram Clan Centaur ["MagramClan1"] = { AL["Magram Clan Centaur"], "AtlasLootRepItems" }, - --Stormpike Guard ["Stormpike1"] = { AL["Stormpike Guard"], "AtlasLootRepItems" }, - --Thorium Brotherhood ["Thorium1"] = { AL["Thorium Brotherhood"] .. " - " .. AL["Friendly"] .. "/" .. AL["Honored"], "AtlasLootRepItems" }, ["Thorium2"] = { AL["Thorium Brotherhood"] .. " - " .. AL["Revered"] .. "/" .. AL["Exalted"], "AtlasLootRepItems" }, - --Timbermaw Hold ["Timbermaw"] = { AL["Timbermaw Hold"], "AtlasLootRepItems" }, - --Wardens of Time ["Wardens1"] = { AL["Wardens of Time"] .. " - " .. AL["Friendly"] .. " & " .. AL["Honored"], "AtlasLootRepItems" }, ["Wardens2"] = { AL["Wardens of Time"] .. " - " .. AL["Revered"] .. " & " .. AL["Exalted"], "AtlasLootRepItems" }, - --Wintersaber Trainers ["Wintersaber1"] = { AL["Wintersaber Trainers"], "AtlasLootRepItems" }, - --Zandalar Tribe ["Zandalar1"] = { AL["Zandalar Tribe"] .. " - " .. AL["Friendly"] .. "/" .. AL["Honored"], "AtlasLootRepItems" }, ["Zandalar2"] = { AL["Zandalar Tribe"] .. " - " .. AL["Revered"] .. "/" .. AL["Exalted"], "AtlasLootRepItems" }, - ["Helf"] = { AL["Silvermoon Remnant"], "AtlasLootRepItems" }, ["Helf2"] = { AL["Silvermoon Remnant"], "AtlasLootRepItems" }, ["Helf3"] = { AL["Silvermoon Remnant"], "AtlasLootRepItems" }, @@ -823,11 +781,9 @@ AtlasLoot_TableNames = { ["ThunderBluff"] = { AL["Thunder Bluff"], "AtlasLootRepItems" }, ["Dalaran"] = { AL["Dalaran"], "AtlasLootRepItems" }, ["Wildhammer"] = { AL["Wildhammer Clan"], "AtlasLootRepItems" }, - -------------- --- Trades --- -------------- - --Alchemy ["AlchemyApprentice1"] = { AL["Alchemy"] .. ": " .. AL["Apprentice"], "AtlasLootCrafting" }, ["AlchemyJourneyman1"] = { AL["Alchemy"] .. ": " .. AL["Journeyman"], "AtlasLootCrafting" }, @@ -999,13 +955,9 @@ AtlasLoot_TableNames = { ["Survival2"] = { AL["Gardening"], "AtlasLootCrafting" }, --Poisons ["Poisons1"] = { AL["Rogue"] .. " - " .. AL["Poisons"], "AtlasLootCrafting" }, - - ----------- --- PvP --- ----------- - - --Battlegrounds --Blood Ring ["BRRepFriendly"] = { AL["Blood Ring"] .. " - " .. AL["Friendly"], "AtlasLootBGItems" }, ["BRRepHonored"] = { AL["Blood Ring"] .. " - " .. AL["Honored"], "AtlasLootBGItems" }, @@ -1062,11 +1014,9 @@ AtlasLoot_TableNames = { ["PVPShaman"] = { "PvP "..AL["Rank 7-13"], "AtlasLootGeneralPvPItems" }, ["PVPWarlock"] = { "PvP "..AL["Rank 7-13"], "AtlasLootGeneralPvPItems" }, ["PVPWarrior"] = { "PvP "..AL["Rank 7-13"], "AtlasLootGeneralPvPItems" }, - ------------- --- Other --- ------------- - --Menus, the entry does nothing, but makes the generalised loot table code less complex ["DUNGEONSMENU1"] = { "dummy", "dummy" }, ["DUNGEONSMENU2"] = { "dummy", "dummy" }, @@ -1076,22 +1026,21 @@ AtlasLoot_TableNames = { ["ABRepMenu"] = { "dummy", "dummy" }, ["WSGRepMenu"] = { "dummy", "dummy" }, ["BRRepMenu"] = { "dummy", "dummy" }, - ["AQ40SET"] = { "dummy", "dummy" }, - ["AQ20SET"] = { "dummy", "dummy" }, - ["ZGSET"] = { "dummy", "dummy" }, ["PRE60SET"] = { "dummy", "dummy" }, - ["T3SET"] = { "dummy", "dummy" }, - ["T2SET"] = { "dummy", "dummy" }, - ["T1SET"] = { "dummy", "dummy" }, + ["ZGSET"] = { "dummy", "dummy" }, + ["AQ20SET"] = { "dummy", "dummy" }, + ["AQ40SET"] = { "dummy", "dummy" }, + ["KARASET"] = { "dummy", "dummy" }, ["T0SET"] = { "dummy", "dummy" }, + ["T1SET"] = { "dummy", "dummy" }, + ["T2SET"] = { "dummy", "dummy" }, + ["T3SET"] = { "dummy", "dummy" }, ["REPMENU"] = { "dummy", "dummy" }, ["SETMENU"] = { "dummy", "dummy" }, ["WORLDEPICS"] = { "dummy", "dummy" }, ["WORLDEVENTMENU"] = { "dummy", "dummy" }, - ["AbyssalCouncil"] = { "dummy", "dummy" }, ["ALCHEMYMENU"] = { "dummy", "dummy" }, ["CRAFTSET"] = { "dummy", "dummy" }, - ["HONORMENU"] = { "dummy", "dummy" }, ["CRAFTINGMENU"] = { "dummy", "dummy" }, ["SMITHINGMENU"] = { "dummy", "dummy" }, ["ENCHANTINGMENU"] = { "dummy", "dummy" }, @@ -1102,11 +1051,9 @@ AtlasLoot_TableNames = { ["FIRSTAIDMENU"] = { "dummy", "dummy" }, ["WORLDBOSSMENU"] = { "dummy", "dummy" }, ["JEWELCRAFTMENU"] = { "dummy", "dummy" }, - ["KARASET"] = { "dummy", "dummy" }, ["WishList"] = { AL["WishList"], "AtlasLootCharDB" }, --If all else fails! ["EmptyInstance"] = { "AtlasLoot", "AtlasLootFallback" }, - }; AtlasLoot_TableNamesBoss = { @@ -1423,6 +1370,7 @@ AtlasLoot_TableNamesBoss = { ["AQ20Trash"] = { AL["Trash Mobs"] .. " (AQ20)", "AtlasLootItems" }, ["AQ20ClassBooks"] = { "AQ Class Books", "AtlasLootItems" }, ["AQ20Enchants"] = { "AQ Enchants", "AtlasLootItems" }, + ["AQ20SET"] = { AL["Ruins of Ahn'Qiraj Sets"], "AtlasLootSetItems"}, }, ["Scarlet Monestery - Armory"] = { ["SMHerod"] = { AL["Herod"], "AtlasLootItems" }, @@ -1640,6 +1588,7 @@ AtlasLoot_TableNamesBoss = { ["ZGTrash1"] = { AL["Trash Mobs"] .. " (" .. AL["Zul'Gurub"] .. ")", "AtlasLootItems" }, ["ZGTrash2"] = { AL["Trash Mobs"] .. " (" .. AL["Zul'Gurub"] .. ")", "AtlasLootItems" }, ["ZGEnchants"] = { "ZG Enchants", "AtlasLootItems" }, + ["ZGSET"] = { AL["Zul'Gurub Sets"], "AtlasLootSetItems"} }, ["Emerald Sanctum"] = { ["ESErennius"] = { AL["Erennius"], "AtlasLootItems" }, @@ -1841,7 +1790,7 @@ AtlasLoot_TableNamesBoss = { ["DTaerar"] = { AL["Taerar"], "AtlasLootWBItems" }, ["DYsondre"] = { AL["Ysondre"], "AtlasLootWBItems" }, ["DTrash"] = { AL["Trash Mobs"] .. " (" .. AL["Emerald Dragons"] .. ")", "AtlasLootWBItems" }, - ["Clackora"] = { "Cla'ckora", "AtlasLootWBItems" }, + ["Clackora"] = { AL["Cla'ckora"], "AtlasLootWBItems" }, }, ------------------- From 78ea8ea0ed3586e417f8eab2ed04bfccad47955b Mon Sep 17 00:00:00 2001 From: Spit <19otari98@gmail.com> Date: Wed, 8 Jan 2025 02:34:27 +0300 Subject: [PATCH 3/4] auto query by default --- Core/AtlasLoot.lua | 81 ++++++--------------------------- TableRegister/loottables.en.lua | 16 ------- 2 files changed, 14 insertions(+), 83 deletions(-) diff --git a/Core/AtlasLoot.lua b/Core/AtlasLoot.lua index fce9a3a..4d3698f 100644 --- a/Core/AtlasLoot.lua +++ b/Core/AtlasLoot.lua @@ -1088,6 +1088,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) elseif(dataID=="JEWELCRAFTMENU") then AtlasLoot_JewelcraftingMenu(); else + AtlasLoot_QueryLootPage() --Iterate through each item object and set its properties for i = 1, 30, 1 do --Check for a valid object (that it exists, and that it has a name) @@ -1195,9 +1196,6 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end if iconFrame:GetTexture() == nil then iconFrame:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark"); - -- itemButton.itemTexture = "Interface\\Icons\\INV_Misc_QuestionMark"; - -- else - -- itemButton.itemTexture = iconFrame:GetTexture(); end --Set the name and description of the item nameFrame:SetText(text); @@ -1325,25 +1323,16 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) if itemButton.container then border:Show() end - --itemButton.iteminfo = {}; local spellID if isItem then - --itemButton.iteminfo.idcore = dataSource[dataID][i][1]; - --_, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][1]); - --itemButton.storeID = dataSource[dataID][i][1]; itemButton.dressingroomID = dataSource[dataID][i][1]; - --itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() elseif isEnchant then spellID = tonumber(string.sub(dataSource[dataID][i][1], 2)); - --itemButton.iteminfo.idcore = dataSource[dataID][i][2]; - --_, _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][2]); - --itemButton.storeID = dataSource[dataID][i][2]; if GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] and GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= nil and GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= "" then itemButton.dressingroomID = GetSpellInfoAtlasLootDB["enchants"][spellID]["item"]; else itemButton.dressingroomID = spellID; end - --itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() if GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= nil and GetSpellInfoAtlasLootDB["enchants"][spellID]["item"] ~= "" then if not GetItemInfo(GetSpellInfoAtlasLootDB["enchants"][spellID]["item"]) then GameTooltip:SetHyperlink("item:"..GetSpellInfoAtlasLootDB["enchants"][spellID]["item"]..":0:0:0"); @@ -1351,11 +1340,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end elseif isSpell then spellID = tonumber(string.sub(dataSource[dataID][i][1], 2)); - --itemButton.iteminfo.idcore = dataSource[dataID][i][1]; - --_, _, _, _, _, _, _, _, itemButton.iteminfo.icontexture = GetItemInfo(dataSource[dataID][i][1]); - --itemButton.storeID = dataSource[dataID][i][1]; itemButton.dressingroomID = GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"]; - --itemButton.extraText = getglobal("AtlasLootItem_"..i.."_Extra"):GetText() if GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"] ~= "" then if not GetItemInfo(GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"]) then GameTooltip:SetHyperlink("item:"..GetSpellInfoAtlasLootDB["craftspells"][spellID]["craftItem"]..":0:0:0"); @@ -1384,14 +1369,10 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) local droprate = dataSource[dataID][i][5]; if droprate and string.find(droprate, "%%") then itemButton.droprate = droprate end end - --itemButton.i = 1; itemButton:Show(); - --If the item is not in cache, querying the server may cause a disconnect - --Show a red box around the item to indicate this to the user - if((not GetItemInfo(dataSource[dataID][i][1])) and (dataSource[dataID][i][1] ~= 0) and isItem) then - getglobal("AtlasLootItem_"..i.."_Unsafe"):Show(); - else - getglobal("AtlasLootItem_"..i.."_Unsafe"):Hide(); + if MouseIsOver(itemButton) then + itemButton:Hide() + itemButton:Show() end else getglobal("AtlasLootItem_"..i):Hide(); @@ -1458,34 +1439,14 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) end local subMenu = nil local bossName = "" - local category = "" - for k, v in pairs(AtlasLoot_HewdropDown_SubTables) do + for k in pairs(AtlasLoot_HewdropDown_SubTables) do if subMenu then break end - for i, n in pairs(AtlasLoot_HewdropDown_SubTables[k]) do + for _, n in pairs(AtlasLoot_HewdropDown_SubTables[k]) do if n[2] == dataID then subMenu = AtlasLoot_HewdropDown_SubTables[k] bossName = n[1] - -- for k1, v1 in pairs(AtlasLoot_HewdropDown) do - -- for k2, v2 in pairs(AtlasLoot_HewdropDown[k1]) do - -- for k3, v3 in pairs(AtlasLoot_HewdropDown[k1][k2]) do - -- if type(v3[1]) == "string" then - -- if v3[2] == k then - -- category = v3[1] - -- break - -- end - -- elseif type(v3[1] == "table") then - -- for k4, v4 in pairs(v3[1]) do - -- if v4[2] == k then - -- category = v4[1] - -- break - -- end - -- end - -- end - -- end - -- end - -- end break end end @@ -1499,7 +1460,6 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame) AtlasLootDefaultFrame_SubMenu:Disable() AtlasLootDefaultFrame_SelectedTable:Hide() end - --AtlasLootDefaultFrame_SelectedCategory:SetText(category) --Anchor the item frame where it is supposed to be AtlasLoot_SetItemInfoFrame(pFrame); AtlasLootItemsFrameContainer:Hide() @@ -3267,21 +3227,11 @@ function AtlasLootItem_OnEnter() if( this.droprate ~= nil) then AtlasLootTooltip:AddLine(AL["Drop Rate: "]..this.droprate, 1, 1, 0); end - --QuestTest_TooltipUpdate(AtlasLootTooltip,"item:"..this.itemID..":0:0:0") - AtlasLootTooltip:Show(); else - --[[AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24); - AtlasLootTooltip:ClearLines(); - AtlasLootTooltip:AddLine(RED..AL["Item Unavailable"], nil, nil, nil, 1); - AtlasLootTooltip:AddLine(AL["ItemID:"].." "..this.itemID, nil, nil, nil, 1); - AtlasLootTooltip:AddLine(AL["This item is unsafe. To view this item without the risk of disconnection, you need to have first seen it in the game world. This is a restriction enforced by Blizzard since Patch 1.10."], nil, nil, nil, 1); - AtlasLootTooltip:AddLine(" "); - AtlasLootTooltip:AddLine(AL["You can right-click to attempt to query the server. You may be disconnected."], nil, nil, nil, 1); - AtlasLootTooltip:Show();]] AtlasLoot_QueryLootPage() getglobal("AtlasLootItem_"..id.."_Unsafe"):Hide(); - AtlasLootTooltip:Show(); end + AtlasLootTooltip:Show(); end end elseif isEnchant then @@ -3497,11 +3447,7 @@ function AtlasLootItem_OnClick(arg1) end elseif isEnchant then if IsShiftKeyDown() then - --[[if ChatFrameEditBox:IsVisible() then - ChatFrameEditBox:Insert(color.."|Henchant:"..string.sub(this.itemID, 2)..":0:0:0|h["..name.."]|h|r"); - else]] - AtlasLoot_SayItemReagents(this.itemID) - --end + AtlasLoot_SayItemReagents(this.itemID) elseif(IsAltKeyDown() and (this.itemID ~= 0)) then if dataID == "WishList" then AtlasLoot_DeleteFromWishList(this.itemID); @@ -3777,14 +3723,15 @@ AtlasLoot_QueryLootPage() Querys all valid items on the current loot page. ]] function AtlasLoot_QueryLootPage() - local i=1; - while i<31 do + for i = 1, 30 do local button = getglobal("AtlasLootItem_"..i); local queryitem = button.itemID; - if (queryitem) and (queryitem ~= nil) and (queryitem ~= "") and (queryitem ~= 0) and (string.sub(queryitem, 1, 1) ~= "s") and (string.sub(queryitem, 1, 1) ~= "e") then - GameTooltip:SetHyperlink("item:"..queryitem..":0:0:0"); + if (queryitem) and (queryitem ~= nil) and (queryitem ~= "") and (queryitem ~= 0) and + (string.sub(queryitem, 1, 1) ~= "s") and (string.sub(queryitem, 1, 1) ~= "e") then + if not GetItemInfo(queryitem) then + GameTooltip:SetHyperlink("item:"..queryitem..":0:0:0"); + end end - i=i+1; end end diff --git a/TableRegister/loottables.en.lua b/TableRegister/loottables.en.lua index 9b47f21..eac9b70 100644 --- a/TableRegister/loottables.en.lua +++ b/TableRegister/loottables.en.lua @@ -1607,11 +1607,9 @@ AtlasLoot_TableNamesBoss = { ["LKHTrash"] = { AL["Trash Mobs"], "AtlasLootItems" }, ["LKHEchants"] = { AL["LKH Enchants"], "AtlasLootItems" }, }, - ------------ --- Sets --- ------------ - ["Sets"] = { ["DEADMINES"] = { AL["Set: "] .. AL["Defias Leather"], "AtlasLootSetItems" }, ["WAILING"] = { AL["Set: "] .. AL["Embrace of the Viper"], "AtlasLootSetItems" }, @@ -1764,15 +1762,9 @@ AtlasLoot_TableNamesBoss = { ["T35Warlock"] = { AL["Karazhan"].." - "..AL["Tier 3.5"].." "..AL["Set"], "AtlasLootSetItems" }, ["T35Warrior"] = { AL["Karazhan"].." - "..AL["Tier 3.5"].." "..AL["Set"], "AtlasLootSetItems" }, }, - ------------------------ - --- Misc Collections --- - ------------------------ - - -------------------- --- World Bosses --- -------------------- - ["WorldBosses"] = { ["AAzuregos"] = { AL["Azuregos"], "AtlasLootWBItems" }, ["ASpiritA"] = { AL["Spirit of Azuregos"], "AtlasLootWBItems" }, @@ -1792,7 +1784,6 @@ AtlasLoot_TableNamesBoss = { ["DTrash"] = { AL["Trash Mobs"] .. " (" .. AL["Emerald Dragons"] .. ")", "AtlasLootWBItems" }, ["Clackora"] = { AL["Cla'ckora"], "AtlasLootWBItems" }, }, - ------------------- --- Rare Spawns --- ------------------- @@ -1835,11 +1826,9 @@ AtlasLoot_TableNamesBoss = { ["KinTozo"] = { "Kin'Tozo", "AtlasLootWBItems" }, ["ProfessorLysander"] = { "Professor Lysander", "AtlasLootWBItems" }, }, - -------------- --- Events --- -------------- - ["World Events"] = { ["AbyssalTemplars"] = { "Abyssal Council - Templars", "AtlasLootWorldEvents" }, ["AbyssalDukes"] = { "Abyssal Council - Dukes", "AtlasLootWorldEvents" }, @@ -1863,7 +1852,6 @@ AtlasLoot_TableNamesBoss = { ["ScourgeInvasionEvent1"] = { AL["Scourge Invasion"], "AtlasLootWorldEvents" }, ["ScourgeInvasionEvent2"] = { AL["Scourge Invasion Bosses"], "AtlasLootWorldEvents" }, }, - ------------------------ --- Classic Factions --- ------------------------ @@ -1893,7 +1881,6 @@ AtlasLoot_TableNamesBoss = { ["GelkisClan1"] = { AL["Gelkis Clan Centaur"], "AtlasLootRepItems" }, --The League of Arathor ["LeagueofArathor"] = { AL["The League of Arathor"], "AtlasLootRepItems" }, - --Magram Clan Centaur ["MagramClan1"] = { AL["Magram Clan Centaur"], "AtlasLootRepItems" }, --Stormpike Guard @@ -1930,7 +1917,6 @@ AtlasLoot_TableNamesBoss = { ["Dalaran"] = { AL["Dalaran"], "AtlasLootRepItems" }, ["Wildhammer"] = { AL["Wildhammer Clan"], "AtlasLootRepItems" }, }, - -------------- --- Trades --- -------------- @@ -2109,11 +2095,9 @@ AtlasLoot_TableNamesBoss = { --Poisons ["Poisons1"] = { AL["Rogue"] .. ": " .. AL["Poisons"], "AtlasLootCrafting" }, }, - ----------- --- PvP --- ----------- - ["Battlegrounds"] = { --Blood Ring ["BRRepFriendly"] = { AL["Blood Ring"] .. " " .. AL["Friendly Rewards"], "AtlasLootBGItems" }, From 8dd1f73caca6d5082458a5337034b994f2bda2bc Mon Sep 17 00:00:00 2001 From: Spit <19otari98@gmail.com> Date: Wed, 8 Jan 2025 19:41:02 +0300 Subject: [PATCH 4/4] remove Turtlhu --- Core/AtlasLoot.lua | 7 +++-- Core/ButtonRegistry.lua | 45 ++++++++++++++++++--------------- Locale/locale.en.lua | 1 - TableRegister/loottables.en.lua | 4 --- WorldBosses/worldbosses.en.lua | 36 ++------------------------ 5 files changed, 29 insertions(+), 64 deletions(-) diff --git a/Core/AtlasLoot.lua b/Core/AtlasLoot.lua index 4d3698f..0b452df 100644 --- a/Core/AtlasLoot.lua +++ b/Core/AtlasLoot.lua @@ -2660,7 +2660,7 @@ AtlasLoot_HewdropDown_SubTables = { { AL["Isalien"], "DMEIsalien" }, { AL["Alzzin the Wildshaper"], "DMEAlzzin" }, { AL["Trash Mobs"], "DMETrash" }, - { AL["Dire Maul Books"], "DMBooks" }, + { AL["Dire Maul Books"], "DMEBooks" }, }, ["DireMaulWest"] = { { AL["Tendris Warpwood"], "DMWTendrisWarpwood" }, @@ -2672,7 +2672,7 @@ AtlasLoot_HewdropDown_SubTables = { { AL["Lord Hel'nurath"].." ("..AL["Rare"]..")", "DMWHelnurath" }, { AL["Prince Tortheldrin"], "DMWPrinceTortheldrin" }, { AL["Trash Mobs"], "DMWTrash" }, - { AL["Dire Maul Books"], "DMBooks" }, + { AL["Dire Maul Books"], "DMWBooks" }, }, ["DireMaulNorth"] = { { AL["Guard Mol'dar"], "DMNGuardMoldar" }, @@ -2685,7 +2685,7 @@ AtlasLoot_HewdropDown_SubTables = { { AL["King Gordok"], "DMNKingGordok" }, { AL["Tribute Run"], "DMNTRIBUTERUN" }, { AL["Trash Mobs"], "DMNTrash" }, - { AL["Dire Maul Books"], "DMBooks" }, + { AL["Dire Maul Books"], "DMNBooks" }, }, ["Maraudon"] = { { AL["Noxxion"], "MaraNoxxion" }, @@ -2802,7 +2802,6 @@ AtlasLoot_HewdropDown_SubTables = { { AL["Taerar"], "DTaerar" }, { AL["Ysondre"], "DYsondre" }, { AL["Lord Kazzak"], "KKazzak"}, - --{ "Turtlhu, the Black Turtle of Doom", "Turtlhu" }, { AL["Nerubian Overseer"], "Nerubian" }, { AL["Dark Reaver of Karazhan"], "Reaver" }, { AL["Ostarius"], "Ostarius" }, diff --git a/Core/ButtonRegistry.lua b/Core/ButtonRegistry.lua index 777a4c1..9562bbd 100644 --- a/Core/ButtonRegistry.lua +++ b/Core/ButtonRegistry.lua @@ -3449,7 +3449,8 @@ AtlasLoot_ButtonRegistry = { Title = AL["Azuregos"]; Next_Page = "DEmeriss"; Next_Title = AL["Emeriss"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["DEmeriss"] = { Title = AL["Emeriss"]; @@ -3457,7 +3458,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Lethon"]; Prev_Page = "AAzuregos"; Prev_Title = AL["Azuregos"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["DLethon"] = { Title = AL["Lethon"]; @@ -3465,7 +3467,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Taerar"]; Prev_Page = "DEmeriss"; Prev_Title = AL["Emeriss"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["DTaerar"] = { Title = AL["Taerar"]; @@ -3473,7 +3476,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Ysondre"]; Prev_Page = "DLethon"; Prev_Title = AL["Lethon"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["DYsondre"] = { Title = AL["Ysondre"]; @@ -3481,7 +3485,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Lord Kazzak"]; Prev_Page = "DTaerar"; Prev_Title = AL["Taerar"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["KKazzak"] = { Title = AL["Lord Kazzak"]; @@ -3489,14 +3494,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Nerubian Overseer"]; Prev_Page = "DYsondre"; Prev_Title = AL["Ysondre"]; - Back_Page = "WORLDBOSSMENU" - }; - ["Turtlhu"] = { - Title = AL["Turtlhu, the Black Turtle of Doom"]; - Next_Page = "Nerubian"; - Next_Title = AL["Nerubian Overseer"]; - Prev_Page = "KKazzak"; - Prev_Title = AL["Lord Kazzak"]; + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["Nerubian"] = { Title = AL["Nerubian Overseer"]; @@ -3504,7 +3503,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Dark Reaver of Karazhan"]; Prev_Page = "KKazzak"; Prev_Title = AL["Lord Kazzak"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["Reaver"] = { Title = AL["Dark Reaver of Karazhan"]; @@ -3512,7 +3512,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Ostarius"]; Prev_Page = "Nerubian"; Prev_Title = AL["Nerubian Overseer"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["Ostarius"] = { Title = AL["Ostarius"]; @@ -3520,7 +3521,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Concavius"]; Prev_Page = "Reaver"; Prev_Title = AL["Dark Reaver of Karazhan"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["Concavius"] = { Title = AL["Concavius"]; @@ -3528,7 +3530,8 @@ AtlasLoot_ButtonRegistry = { Next_Title = AL["Moo"]; Prev_Page = "Ostarius"; Prev_Title = AL["Ostarius"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["CowKing"] = { Title = AL["Moo"]; @@ -3536,13 +3539,15 @@ AtlasLoot_ButtonRegistry = { Prev_Title = AL["Concavius"]; Next_Page = "Clackora"; Next_Title = AL["Cla'ckora"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; ["Clackora"] = { Title = AL["Cla'ckora"]; Prev_Page = "CowKing"; Prev_Title = AL["Moo"]; - Back_Page = "WORLDBOSSMENU" + Back_Page = "WORLDBOSSMENU", + Back_Title = AL["World Bosses"] }; --Rare Spawns ["EarthcallerRezengal"] = { @@ -3793,8 +3798,6 @@ AtlasLoot_ButtonRegistry = { Prev_Page = "WidowoftheWoods"; Prev_Title = AL["Widow of the Woods"]; }; - - --WoW Factions ["Argent1"] = { Title = AL["Argent Dawn"] .. ": " .. AL["Token Hand-Ins"]; diff --git a/Locale/locale.en.lua b/Locale/locale.en.lua index be4b7e3..20a910f 100644 --- a/Locale/locale.en.lua +++ b/Locale/locale.en.lua @@ -1284,7 +1284,6 @@ AL:RegisterTranslations("enUS", function() return { ["Ysondre"] = true, ["Moo"] = true, ["Nerubian Overseer"] = true, - ["Turtlhu, the Black Turtle of Doom"] = true, ["Dark Reaver of Karazhan"] = true, ["Ostarius"] = true, ["Concavius"] = true, diff --git a/TableRegister/loottables.en.lua b/TableRegister/loottables.en.lua index eac9b70..877eba7 100644 --- a/TableRegister/loottables.en.lua +++ b/TableRegister/loottables.en.lua @@ -659,7 +659,6 @@ AtlasLoot_TableNames = { -------------------- ["AAzuregos"] = { AL["Azshara"].. " - " ..AL["Azuregos"], "AtlasLootWBItems" }, ["ASpiritA"] = { AL["Azshara"].. " - " ..AL["Spirit of Azuregos"], "AtlasLootWBItems" }, - --["Turtlhu"] = { "Turtlhu, the Black Turtle of Doom", "AtlasLootWBItems" }, ["Nerubian"] = { AL["Eastern Plaguelands"].. " - " ..AL["Nerubian Overseer"], "AtlasLootWBItems" }, ["Reaver"] = { AL["Deadwind Pass"].. " - " ..AL["Dark Reaver of Karazhan"], "AtlasLootWBItems" }, ["Ostarius"] = { AL["Tanaris"].. " - " ..AL["Ostarius"], "AtlasLootWBItems" }, @@ -1768,15 +1767,12 @@ AtlasLoot_TableNamesBoss = { ["WorldBosses"] = { ["AAzuregos"] = { AL["Azuregos"], "AtlasLootWBItems" }, ["ASpiritA"] = { AL["Spirit of Azuregos"], "AtlasLootWBItems" }, - --["Turtlhu"] = { "Turtlhu, the Black Turtle of Doom", "AtlasLootWBItems" }, ["Nerubian"] = { "Nerubian Overseer", "AtlasLootWBItems" }, ["Reaver"] = { "Dark Reaver of Karazhan", "AtlasLootWBItems" }, ["Ostarius"] = { "Ostarius", "AtlasLootWBItems" }, ["Concavius"] = { "Concavius", "AtlasLootWBItems" }, ["CowKing"] = { "Moo", "AtlasLootWBItems" }, - --Doom Lord Kazzak ["KKazzak"] = { AL["Lord Kazzak"], "AtlasLootWBItems" }, - --Emrald Dragons ["DEmeriss"] = { AL["Emeriss"], "AtlasLootWBItems" }, ["DLethon"] = { AL["Lethon"], "AtlasLootWBItems" }, ["DTaerar"] = { AL["Taerar"], "AtlasLootWBItems" }, diff --git a/WorldBosses/worldbosses.en.lua b/WorldBosses/worldbosses.en.lua index 8366e8a..c3fab7a 100644 --- a/WorldBosses/worldbosses.en.lua +++ b/WorldBosses/worldbosses.en.lua @@ -19,9 +19,6 @@ AtlasLootWBBossButtons = { LordKazzak = { "KKazzak"; }; - --[[Turtlhu = { - "Turtlhu"; - };]] Nerubian = { "Nerubian"; }; @@ -37,9 +34,9 @@ AtlasLootWBBossButtons = { CowKing = { "CowKing"; }; - --[[Clackora = { + Clackora = { "Clackora"; - };]] + }; RareSpawns = { ""; ""; @@ -154,35 +151,6 @@ AtlasLoot_Data["AtlasLootWBItems"] = { { 0, "", "", "", "" }, { 51739, "inv_fabric_wool_02", "=q1=Little Ball of Spider Web", "=ds=#e15#", "100%" }, }; - --[[Turtlhu = { - { 20633, "INV_Shoulder_29", "=q4=Unnatural Leather Spaulders", "=ds=#s3#, #a2#", "4.76%" }, - { 20631, "INV_Boots_Cloth_05", "=q4=Mendicant's Slippers", "=ds=#s12#, #a1#", "4.76%" }, - { 20634, "INV_Boots_08", "=q4=Boots of Fright", "=ds=#s12#, #a2#", "4.76%" }, - { 20632, "INV_Jewelry_Ring_04", "=q4=Mindtear Band", "=ds=#s13#", "4.76%" }, - { 20577, "INV_Sword_44", "=q4=Nightmare Blade", "=ds=#h1#, #w10#", "4.767%" }, - { 20623, "INV_Helmet_17", "=q4=Circlet of Restless Dreams", "=ds=#s1#, #a2#", "4.76%" }, - { 20622, "INV_Jewelry_Necklace_18", "=q4=Dragonheart Necklace", "=ds=#s2#", "4.76%" }, - { 20624, "INV_Jewelry_Ring_38", "=q4=Ring of the Unliving", "=ds=#s13#", "4.76%" }, - { 20621, "INV_Boots_Chain_11", "=q4=Boots of the Endless Moor", "=ds=#s12#, #a3#", "4.76%" }, - { 20599, "INV_Weapon_Crossbow_11", "=q4=Polished Ironwood Crossbow", "=ds=#w3#", "4.763%" }, - { 20628, "INV_Helmet_43", "=q4=Deviate Growth Cap", "=ds=#s1#, #a2#", "4.76%" }, - { 20626, "INV_Bracer_07", "=q4=Black Bark Wristbands", "=ds=#s8#, #a1#", "4.76%" }, - { 20630, "INV_Gauntlets_29", "=q4=Gauntlets of the Shining Light", "=ds=#s9#, #a4#", "4.76%" }, - { 20625, "INV_Belt_15", "=q4=Belt of the Dark Bog", "=ds=#s10#, #a1#", "4.76%" }, - { 20627, "INV_Pants_Leather_11", "=q4=Dark Heart Pants", "=ds=#s11#, #a2#", "4.76%" }, - { 20629, "INV_Boots_Chain_08", "=q4=Malignant Footguards", "=ds=#s12#, #a3#", "4.76%" }, - { 20637, "INV_Shoulder_11", "=q4=Acid Inscribed Pauldrons", "=ds=#s3#, #a4#", "4.76%" }, - { 20635, "INV_Chest_Cloth_39", "=q4=Jade Inlaid Vestments", "=ds=#s5#, #a1#", "4.76%" }, - { 20638, "INV_Pants_Mail_15", "=q4=Leggings of the Demented Mind", "=ds=#s11#, #a3#", "4.76%" }, - { 20639, "INV_Pants_Plate_05", "=q4=Strangely Glyphed Legplates", "=ds=#s11#, #a4#", "4.76%" }, - { 20636, "INV_Misc_Gem_Stone_01", "=q4=Hibernation Crystal", "=ds=#s14#", "4.76%" }, - { 20578, "INV_Weapon_ShortBlade_22", "=q4=Emerald Dragonfang", "=ds=#h1#, #w4#", "4.76%" }, - { 0, "", "", "", "" }, - { 18665, "Spell_Shadow_UnholyFrenzy", "=q4=The Eye of Shadow", "=ds=#s14#", "3.50%" }, - { 0, "", "", "", "" }, - { 50202, "INV_Egg_03", "=q3=Egg of Turtlhu", "=ds=#e15#", "100%" }, - { 50203, "INV_Enchant_Dustsoul", "=q2=Corrupted Sand", "=ds=#e12#", "100%" }, - };]] Ostarius = { { 83480, "inv_misc_book_07", "=q4=Tome of Infalliable Truth", "=ds=#h4#, #s15#", "17%" }, { 83481, "inv_mace_08", "=q4=Failsafe Activation Key", "=ds=#h4#, #s15#", "17%" },