-finshed conversion of classic/tbc tables built function to create token tables from teir collections

This commit is contained in:
Anch
2022-07-31 21:10:39 +12:00
parent 588ea67bdd
commit 474939e8f4
27 changed files with 8888 additions and 10170 deletions
+1 -1
View File
@@ -88,7 +88,7 @@ AtlasLoot_Difficulty = {
["Crafting"] = { ["Crafting"] = {
{"Crafting Patterns", "" }, {"Crafting Patterns", "" },
{"Item Normal", "=s=Normal" }, {"Item Normal", 2 },
{"Bloodforged", 1 }, {"Bloodforged", 1 },
}; };
+101 -84
View File
@@ -14,7 +14,6 @@ AtlasLoot_OnLoad()
AtlasLootBoss_OnClick() AtlasLootBoss_OnClick()
AtlasLoot_ShowItemsFrame() AtlasLoot_ShowItemsFrame()
AtlasLoot_GenerateAtlasMenu(dataID, pFrame) AtlasLoot_GenerateAtlasMenu(dataID, pFrame)
AtlasLootOptions_ItemAutoQuery()
AtlasLoot_SetItemInfoFrame() AtlasLoot_SetItemInfoFrame()
AtlasLootItemsFrame_OnCloseButton() AtlasLootItemsFrame_OnCloseButton()
AtlasLootMenuItem_OnClick() AtlasLootMenuItem_OnClick()
@@ -28,12 +27,13 @@ AtlasLoot_AddTooltip(frameb, tooltiptext)
AL_FindId(name, difficulty) AL_FindId(name, difficulty)
]] ]]
AtlasLoot = LibStub("AceAddon-3.0"):NewAddon("AtlasLoot"); AtlasLoot = LibStub("AceAddon-3.0"):NewAddon("AtlasLoot", "AceTimer-3.0");
--Instance required libraries --Instance required libraries
local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0") local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot"); local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
--Establish version number and compatible version of Atlas --Establish version number and compatible version of Atlas
local VERSION_MAJOR = "5"; local VERSION_MAJOR = "5";
local VERSION_MINOR = "11"; local VERSION_MINOR = "11";
@@ -206,12 +206,6 @@ function AtlasLoot_OnVariablesLoaded()
if not AtlasLootCharDB["WishList"] then AtlasLootCharDB["WishList"] = {} end if not AtlasLootCharDB["WishList"] then AtlasLootCharDB["WishList"] = {} end
if not AtlasLootCharDB["QuickLooks"] then AtlasLootCharDB["QuickLooks"] = {} end if not AtlasLootCharDB["QuickLooks"] then AtlasLootCharDB["QuickLooks"] = {} end
if not AtlasLootCharDB["SearchResult"] then AtlasLootCharDB["SearchResult"] = {} end if not AtlasLootCharDB["SearchResult"] then AtlasLootCharDB["SearchResult"] = {} end
AtlasLoot.db.profile.LastBoss = "EmptyTable";
if AtlasLoot_TableNames then
AtlasLoot_TableNames["EmptyTable"] = { AL["Select a Loot Table..."], "Menu" };
AtlasLoot_TableNames["EmptyInstance"] = { "AtlasLoot", "AtlasLootFallback" };
AtlasLoot_TableNames["AtlasLootFallback"] = { "AtlasLoot", "AtlasLootFallback" };
end
if AtlasLoot_Data then if AtlasLoot_Data then
AtlasLoot_Data["EmptyTable"] = { AtlasLoot_Data["EmptyTable"] = {
Name = AL["Select a Loot Table..."]; Name = AL["Select a Loot Table..."];
@@ -389,7 +383,6 @@ function AtlasLoot_Reset(data)
AtlasFrame:Hide(); AtlasFrame:Hide();
end end
if data == "frames" then if data == "frames" then
AtlasLoot.db.profile.LastBoss = "EmptyTable";
AtlasLootDefaultFrame:ClearAllPoints(); AtlasLootDefaultFrame:ClearAllPoints();
AtlasLootDefaultFrame:SetPoint("CENTER", "UIParent", "CENTER", 0, 0); AtlasLootDefaultFrame:SetPoint("CENTER", "UIParent", "CENTER", 0, 0);
if AtlasLootFu then if AtlasLootFu then
@@ -400,16 +393,13 @@ function AtlasLoot_Reset(data)
AtlasLoot.db.profile.LootBrowserScale = 1.0; AtlasLoot.db.profile.LootBrowserScale = 1.0;
AtlasLoot_UpdateLootBrowserScale(); AtlasLoot_UpdateLootBrowserScale();
elseif data == "quicklooks" then elseif data == "quicklooks" then
AtlasLoot.db.profile.LastBoss = "EmptyTable";
AtlasLootCharDB["QuickLooks"] = {}; AtlasLootCharDB["QuickLooks"] = {};
AtlasLoot_RefreshQuickLookButtons(); AtlasLoot_RefreshQuickLookButtons();
elseif data == "wishlist" then elseif data == "wishlist" then
AtlasLoot.db.profile.LastBoss = "EmptyTable";
AtlasLootCharDB["WishList"] = {}; AtlasLootCharDB["WishList"] = {};
AtlasLootCharDB["SearchResult"] = {}; AtlasLootCharDB["SearchResult"] = {};
AtlasLootCharDB.LastSearchedText = ""; AtlasLootCharDB.LastSearchedText = "";
elseif data == "all" then elseif data == "all" then
AtlasLoot.db.profile.LastBoss = "EmptyTable";
AtlasLootDefaultFrame:ClearAllPoints(); AtlasLootDefaultFrame:ClearAllPoints();
AtlasLootDefaultFrame:SetPoint("CENTER", "UIParent", "CENTER", 0, 0); AtlasLootDefaultFrame:SetPoint("CENTER", "UIParent", "CENTER", 0, 0);
if AtlasLootFu then if AtlasLootFu then
@@ -490,21 +480,67 @@ function AtlasLoot_OnLoad()
end end
function AtlasLoot_CleandataID(newID, listnum) function AtlasLoot_CleandataID(newID, listnum)
local cleanlist = { [1] = {"CLASSIC", "TBC", "WRATH", "1", "2", "3", "4", "5", "6", "7", "8"}, local cleanlist = { [1] = {"CLASSIC", "TBC", "WRATH"} };
[2] = {"1", "2", "3", "4", "5", "6", "7", "8"}
};
for i = 1, #cleanlist[listnum] do for i = 1, #cleanlist[listnum] do
newID = gsub(newID, cleanlist[listnum][i], ""); newID = gsub(newID, cleanlist[listnum][i], "");
end end
return newID; return newID;
end end
--Creates tables for raid tokens from the collections tables
function Atlasloot_CreateToken(dataID)
local itemType, slotType, itemName, itemType2
--orginal dataID
local orgID = dataID;
--list of item types to find
local names = { {"HEAD", "INVTYPE_HEAD", "Head"}, {"SHOULDER", "INVTYPE_SHOULDER", "Shoulders"}, {"CHEST", "INVTYPE_CHEST", "Chest", "INVTYPE_ROBE"}, {"WRIST", "INVTYPE_WRIST", "Wrists"}, {"HAND", "INVTYPE_HAND", "Hands"}, {"WAIST", "INVTYPE_WAIST", "Waist"}, {"LEGS", "INVTYPE_LEGS", "Legs"}, {"FEET", "INVTYPE_FEET", "Feet"}, {"FINGER", "INVTYPE_FINGER", "Rings"}};
--finds the item type to create a list of
for a, b in pairs(names) do
dataID = gsub(dataID, b[1], "");
slotType = gsub(orgID, dataID, "");
if slotType == b[1] then
itemType = b[2];
itemType2 = b[4];
itemName = b[3];
end
end
--Creates data set of the item type
AtlasLoot_Data[orgID] = {};
local newData = AtlasLoot_Data[orgID];
newData.Name = itemName;
newData.Type = AtlasLoot_Data[dataID].Type;
newData.Back = true;
newData[1] = {};
newData[1].Name = itemName;
--used to refresh the page after its loaded all the items
function AtlasLoot:callShowloot()
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4], AtlasLootItemsFrame.refresh[5])
end
--Adds all the items to the new data set
--Uses a timer so that AtlasLoot:callShowloot() only fires once after all then items have been loaded
for i, v in ipairs(AtlasLoot_Data[dataID]) do
for t, id in ipairs(v) do
local itemID = id[2];
local item = Item:CreateFromID(itemID);
item:ContinueOnLoad(function(itemID)
AtlasLoot:CancelTimer(AtlasLoot.refreshTimer);
if itemType == select(9,GetItemInfo(itemID)) or itemType2 == select(9,GetItemInfo(itemID)) then
local newTable = rawset(id, 1, i);
table.insert(newData[1],newTable);
end
AtlasLoot.refreshTimer = AtlasLoot:ScheduleTimer("callShowloot", .5);
end)
end
end
end
--[[ --[[
AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame): AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame):
dataID - Name of the loot table dataID - Name of the loot table
dataSource - Table in the database where the loot table is stored dataSource - Table in the database where the loot table is stored
boss - Text string to use as a title for the loot page boss - Text string to use as a title for the loot page
pFrame - Data structure describing how and where to anchor the item frame (more details, see the function AtlasLoot_SetItemInfoFrame) pFrame - Data structure describing how and where to anchor the item frame (more details, see the function AtlasLoot_SetItemInfoFrame)
tablenum - Table number of the loot table being displayed
This fuction is not normally called directly, it is usually invoked by AtlasLoot_ShowBossLoot. This fuction is not normally called directly, it is usually invoked by AtlasLoot_ShowBossLoot.
It is the workhorse of the mod and allows the loot tables to be displayed any way anywhere in any mod. It is the workhorse of the mod and allows the loot tables to be displayed any way anywhere in any mod.
]] ]]
@@ -531,7 +567,6 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
--Hide Advanced search if it is up and reshow Querybutton --Hide Advanced search if it is up and reshow Querybutton
AtlasLootAdvancedSearch:Hide(); AtlasLootAdvancedSearch:Hide();
AtlasLootServerQueryButton:Show();
--Ditch the Quicklook selector --Ditch the Quicklook selector
AtlasLoot_QuickLooks:Hide(); AtlasLoot_QuickLooks:Hide();
@@ -652,8 +687,8 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
--Store data about the state of the items frame to allow minor tweaks or a recall of the current loot page --Store data about the state of the items frame to allow minor tweaks or a recall of the current loot page
AtlasLootItemsFrame.refresh = {dataID, dataSource_backup, boss, pFrame, tablenum}; AtlasLootItemsFrame.refresh = {dataID, dataSource_backup, boss, pFrame, tablenum};
if dataID ~= "FilterList" then if dataID ~= "FilterList" and dataSource[dataID].Back ~= true then
AtlasLootItemsFrame.refreshOri = {dataID, dataSource_backup, boss, pFrame, tablenum} AtlasLootItemsFrame.refreshOri = {dataID, dataSource_backup, boss, pFrame, tablenum};
end end
--Insert the item description --Insert the item description
@@ -775,32 +810,29 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
end end
AtlasLootItemsFrame.refresh = {dataID, dataSource_backup, boss, pFrame, tablenum}; AtlasLootItemsFrame.refresh = {dataID, dataSource_backup, boss, pFrame, tablenum};
if dataID ~= "FilterList" then if dataID ~= "FilterList" and dataSource[dataID].Back ~= true then
AtlasLootItemsFrame.refreshOri = {dataID, dataSource_backup, boss, pFrame, tablenum}; AtlasLootItemsFrame.refreshOri = {dataID, dataSource_backup, boss, pFrame, tablenum};
AtlasLoot.db.profile.LastBoss = {dataID, dataSource_backup, boss, pFrame, tablenum, ATLASLOOT_LASTMODULE, ATLASLOOT_CURRENTTABLE};
end end
--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
--((dataSource[dataID][i][2] ~= 0) and (not GetItemInfo(dataSource[dataID][i][2]))
for i = 1, 30, 1 do
itemID = getglobal("AtlasLootItem_"..i).itemID;
if itemID and itemID ~= 0 and (string.sub(itemID, 1, 1) ~= "s") then
if GetItemInfo(itemID) then
getglobal("AtlasLootItem_"..i.."_Unsafe"):Hide();
else
getglobal("AtlasLootItem_"..i.."_Unsafe"):Show();
end
else
getglobal("AtlasLootItem_"..i.."_Unsafe"):Hide();
end
end
--This is a valid QuickLook, so show the UI objects --This is a valid QuickLook, so show the UI objects
AtlasLoot_QuickLooks:Show(); AtlasLoot_QuickLooks:Show();
AtlasLootQuickLooksButton:Show(); AtlasLootQuickLooksButton:Show();
-- Checks dataID with submenus to stop filter button loading on certain tables
local function filterCheck(find)
local mtype = {"Crafting", "Reputations", "WorldEvents", "PVP", "Collections"}
for m, t in pairs (mtype) do
for i, v in ipairs (AtlasLoot_SubMenus[t..AtlasLoot_Expac]) do
if find == v[2] then
return true;
end
end
end
end
-- Show the Filter Check-Box -- Show the Filter Check-Box
if dataID ~= "WishList" and dataID ~= "SearchResult" and dataSource[dataID].NoFilter ~= true then if dataID ~= "WishList" and dataID ~= "SearchResult" and filterCheck(dataID) ~= true then
AtlasLootFilterCheck:Show(); AtlasLootFilterCheck:Show();
end end
@@ -809,8 +841,10 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
getglobal("AtlasLootItemsFrame_NEXT"):Hide(); getglobal("AtlasLootItemsFrame_NEXT"):Hide();
getglobal("AtlasLootItemsFrame_PREV"):Hide(); getglobal("AtlasLootItemsFrame_PREV"):Hide();
AtlasLoot_BossName:SetText(dataSource[dataID][tablenum].Name); if dataID ~= "FilterList" then
AtlasLootDefaultFrame_SubMenu:SetText(dataSource[dataID].Name); AtlasLoot_BossName:SetText(dataSource[dataID][tablenum].Name);
AtlasLootDefaultFrame_SubMenu:SetText(dataSource[dataID].Name);
end
--Consult the button registry to determine what nav buttons are required --Consult the button registry to determine what nav buttons are required
if dataID == "SearchResult" or dataID == "WishList" then if dataID == "SearchResult" or dataID == "WishList" then
@@ -823,11 +857,11 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
getglobal("AtlasLootItemsFrame_PREV").lootpage = dataID.."Page"..(wlPage - 1); getglobal("AtlasLootItemsFrame_PREV").lootpage = dataID.."Page"..(wlPage - 1);
end end
else else
local tablebase = dataID; local tablebase = dataID;
if ATLASLOOT_FILTER_ENABLE and dataID == "FilterList" then if ATLASLOOT_FILTER_ENABLE and dataID == "FilterList" then
tablebase = AtlasLootItemsFrame.refreshOri[1]; tablebase = AtlasLootItemsFrame.refreshOri[1];
end end
if tablenum + 1 ~= AtlasLoot_GetNumOfRows(dataSource[tablebase]) then if tablenum + 1 ~= AtlasLoot_GetNumOfRows(dataSource[tablebase]) then
getglobal("AtlasLootItemsFrame_NEXT"):Show(); getglobal("AtlasLootItemsFrame_NEXT"):Show();
getglobal("AtlasLootItemsFrame_NEXT").lootpage = tablebase; getglobal("AtlasLootItemsFrame_NEXT").lootpage = tablebase;
@@ -838,11 +872,10 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
getglobal("AtlasLootItemsFrame_PREV").lootpage = tablebase; getglobal("AtlasLootItemsFrame_PREV").lootpage = tablebase;
getglobal("AtlasLootItemsFrame_PREV").tablenum = tablenum - 1; getglobal("AtlasLootItemsFrame_PREV").tablenum = tablenum - 1;
end end
--[[ if tablebase.Back then if dataSource[tablebase].Back then
getglobal("AtlasLootItemsFrame_BACK"):Show(); getglobal("AtlasLootItemsFrame_BACK"):Show();
getglobal("AtlasLootItemsFrame_BACK").lootpage = tablebase.Back;
end end
]] end end
end end
--Anchor the item frame where it is supposed to be --Anchor the item frame where it is supposed to be
@@ -850,7 +883,9 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame, tablenum)
if ATLASLOOT_FILTER_ENABLE and dataID ~= "FilterList" then if ATLASLOOT_FILTER_ENABLE and dataID ~= "FilterList" then
AtlasLoot_HideNoUsableItems(); AtlasLoot_HideNoUsableItems();
end end
if AtlasLoot.db.profile.ItemAutoQuery then AtlasLoot_QueryLootPage(); end
AtlasLoot_QueryLootPage();
end end
--[[ --[[
@@ -915,7 +950,6 @@ Called when <-, -> are pressed and calls up the appropriate loot page
function AtlasLoot_NavButton_OnClick() function AtlasLoot_NavButton_OnClick()
local tabelname = this.lootpage; local tabelname = this.lootpage;
local tablenum = this.tablenum; local tablenum = this.tablenum;
local filtercheck = false;
if AtlasLootItemsFrame.refresh and AtlasLootItemsFrame.refresh[4] and AtlasLootItemsFrame.refresh[5] then if AtlasLootItemsFrame.refresh and AtlasLootItemsFrame.refresh[4] and AtlasLootItemsFrame.refresh[5] then
if strsub(tabelname, 1, 16) == "SearchResultPage" then if strsub(tabelname, 1, 16) == "SearchResultPage" then
@@ -937,22 +971,7 @@ AtlasLoot_NavButton_OnClick:
Called when 'Back'Button is pressed and calls up the appropriate loot page Called when 'Back'Button is pressed and calls up the appropriate loot page
]] ]]
function AtlasLoot_BackButton_OnClick() function AtlasLoot_BackButton_OnClick()
if AtlasLootItemsFrame.refresh and AtlasLootItemsFrame.refresh[4] then AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5]);
if strsub(this.lootpage, 1, 16) == "SearchResultPage" then
AtlasLoot_ShowItemsFrame("SearchResult", this.lootpage, (AL["Search Result: %s"]):format(AtlasLootCharDB.LastSearchedText or ""), AtlasLootItemsFrame.refresh[4]);
elseif strsub(this.lootpage, 1, 12) == "WishListPage" then
AtlasLoot_ShowItemsFrame("WishList", this.lootpage, AL["Wishlist"], AtlasLootItemsFrame.refresh[4]);
elseif AtlasLoot_Hold == true then
AtlasLoot_ShowItemsFrame(AtlasLoot_Lastboss, AtlasLootItemsFrame.refresh[2], "", AtlasLootItemsFrame.refresh[4]);
-- Lets AtlasLoot_Lastboss be updated after going back to main table
AtlasLoot_Hold = false;
else
AtlasLoot_ShowItemsFrame(this.lootpage, AtlasLootItemsFrame.refresh[2], "", AtlasLootItemsFrame.refresh[4]);
end
else
--Fallback for if the requested loot page is a menu and does not have a .refresh instance
AtlasLoot_ShowItemsFrame(this.lootpage, "", "", AtlasFrame);
end
end end
--[[ --[[
@@ -960,16 +979,17 @@ AtlasLoot_IsLootTableAvailable(dataID):
Checks if a loot table is in memory and attempts to load the correct LoD module if it isn't Checks if a loot table is in memory and attempts to load the correct LoD module if it isn't
dataID: Loot table dataID dataID: Loot table dataID
]] ]]
function AtlasLoot_IsLootTableAvailable(dataID,dataSource) function AtlasLoot_IsLootTableAvailable(dataSource)
local moduleName=nil; local moduleName=nil;
moduleName = AtlasLoot_GetLODModule(dataSource); moduleName = AtlasLoot_GetLODModule(dataSource);
if AtlasLoot_Data[dataID] then if IsAddOnLoaded(moduleName) then
return true; return true;
else else
if moduleName then LoadAddOn(moduleName);
--[[ if moduleName then
if not IsAddOnLoaded(moduleName) then if not IsAddOnLoaded(moduleName) then
loaded, reason=LoadAddOn(moduleName); loaded, reason=LoadAddOn(moduleName);
if not loaded then if not loaded then
@@ -982,7 +1002,7 @@ function AtlasLoot_IsLootTableAvailable(dataID,dataSource)
end end
end end
end end
--[[ if AtlasLoot_Data[dataID] then if AtlasLoot_Data[dataID] then
if ATLASLOOT_DEBUGMESSAGES then if ATLASLOOT_DEBUGMESSAGES then
DEFAULT_CHAT_FRAME:AddMessage(GREEN..AL["AtlasLoot"]..": "..ORANGE..moduleName..WHITE.." "..AL["sucessfully loaded."]); DEFAULT_CHAT_FRAME:AddMessage(GREEN..AL["AtlasLoot"]..": "..ORANGE..moduleName..WHITE.." "..AL["sucessfully loaded."]);
end end
@@ -991,11 +1011,11 @@ function AtlasLoot_IsLootTableAvailable(dataID,dataSource)
else else
DEFAULT_CHAT_FRAME:AddMessage(RED..AL["AtlasLoot Error!"].." "..ORANGE..AtlasLoot_TableNames[dataID][1]..WHITE..AL[" could not be accessed, the following module may be out of date: "]..ORANGE..moduleName); DEFAULT_CHAT_FRAME:AddMessage(RED..AL["AtlasLoot Error!"].." "..ORANGE..AtlasLoot_TableNames[dataID][1]..WHITE..AL[" could not be accessed, the following module may be out of date: "]..ORANGE..moduleName);
return false; return false;
end ]] end
else else
DEFAULT_CHAT_FRAME:AddMessage(RED..AL["AtlasLoot Error!"].." "..ORANGE..AL["Loot module returned as nil!"]); DEFAULT_CHAT_FRAME:AddMessage(RED..AL["AtlasLoot Error!"].." "..ORANGE..AL["Loot module returned as nil!"]);
return false; return false;
end end ]]
end end
end end
@@ -1074,7 +1094,7 @@ function AtlasLoot_ShowQuickLooks(button)
"tooltipTitle", AL["QuickLook"].." 1", "tooltipTitle", AL["QuickLook"].." 1",
"tooltipText", AL["Assign this loot table\n to QuickLook"].." 1", "tooltipText", AL["Assign this loot table\n to QuickLook"].." 1",
"func", function() "func", function()
AtlasLootCharDB["QuickLooks"][1]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5]}; AtlasLootCharDB["QuickLooks"][1]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5], ATLASLOOT_LASTMODULE, ATLASLOOT_CURRENTTABLE};
AtlasLoot_RefreshQuickLookButtons(); AtlasLoot_RefreshQuickLookButtons();
dewdrop:Close(1); dewdrop:Close(1);
end end
@@ -1084,7 +1104,7 @@ function AtlasLoot_ShowQuickLooks(button)
"tooltipTitle", AL["QuickLook"].." 2", "tooltipTitle", AL["QuickLook"].." 2",
"tooltipText", AL["Assign this loot table\n to QuickLook"].." 2", "tooltipText", AL["Assign this loot table\n to QuickLook"].." 2",
"func", function() "func", function()
AtlasLootCharDB["QuickLooks"][2]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5]}; AtlasLootCharDB["QuickLooks"][2]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5], ATLASLOOT_LASTMODULE, ATLASLOOT_CURRENTTABLE};
AtlasLoot_RefreshQuickLookButtons(); AtlasLoot_RefreshQuickLookButtons();
dewdrop:Close(1); dewdrop:Close(1);
end end
@@ -1094,7 +1114,7 @@ function AtlasLoot_ShowQuickLooks(button)
"tooltipTitle", AL["QuickLook"].." 3", "tooltipTitle", AL["QuickLook"].." 3",
"tooltipText", AL["Assign this loot table\n to QuickLook"].." 3", "tooltipText", AL["Assign this loot table\n to QuickLook"].." 3",
"func", function() "func", function()
AtlasLootCharDB["QuickLooks"][3]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5]}; AtlasLootCharDB["QuickLooks"][3]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5], ATLASLOOT_LASTMODULE, ATLASLOOT_CURRENTTABLE};
AtlasLoot_RefreshQuickLookButtons(); AtlasLoot_RefreshQuickLookButtons();
dewdrop:Close(1); dewdrop:Close(1);
end end
@@ -1104,7 +1124,7 @@ function AtlasLoot_ShowQuickLooks(button)
"tooltipTitle", AL["QuickLook"].." 4", "tooltipTitle", AL["QuickLook"].." 4",
"tooltipText", AL["Assign this loot table\n to QuickLook"].." 4", "tooltipText", AL["Assign this loot table\n to QuickLook"].." 4",
"func", function() "func", function()
AtlasLootCharDB["QuickLooks"][4]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5]}; AtlasLootCharDB["QuickLooks"][4]={AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5], ATLASLOOT_LASTMODULE, ATLASLOOT_CURRENTTABLE};
AtlasLoot_RefreshQuickLookButtons(); AtlasLoot_RefreshQuickLookButtons();
dewdrop:Close(1); dewdrop:Close(1);
end end
@@ -1142,19 +1162,16 @@ AtlasLoot_QueryLootPage()
Querys all valid items on the current loot page. Querys all valid items on the current loot page.
]] ]]
function AtlasLoot_QueryLootPage() function AtlasLoot_QueryLootPage()
i=1; for i = 1, 30, 1 do
local querytime = 0; button = getglobal("AtlasLootItem_"..i);
local now = 0; queryitem = button.itemID;
while i<31 do if (queryitem) and (queryitem ~= nil) and (queryitem ~= "") and (queryitem ~= 0) and (string.sub(queryitem, 1, 1) ~= "s") then
now = GetTime(); local item = Item:CreateFromID(queryitem);
if now - querytime > 0.01 then item:ContinueOnLoad(function(itemId)
querytime = GetTime(); if item:GetInfo() then
button = getglobal("AtlasLootItem_"..i); AtlasLootTooltip:SetHyperlink("item:"..itemId..":0:0:0:0:0:0:0");
queryitem = button.itemID; end
if (queryitem) and (queryitem ~= nil) and (queryitem ~= "") and (queryitem ~= 0) and (string.sub(queryitem, 1, 1) ~= "s") then end)
AtlasLootTooltip:SetHyperlink("item:"..queryitem..":0:0:0:0:0:0:0");
end
i=i+1;
end end
end end
end end
-75
View File
@@ -481,43 +481,6 @@
</OnShow> </OnShow>
</Scripts> </Scripts>
</Button> </Button>
<Button name="AtlasLootServerQueryButton" inherits="OptionsButtonTemplate">
<Size>
<AbsDimension x="140" y="23"/>
</Size>
<Anchors>
<Anchor point="BOTTOM" relativeTo="$parent" relativePoint="BOTTOM">
<Offset>
<AbsDimension x="130" y="4"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Query Server"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
<OnEnter>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
GameTooltip:ClearLines();
GameTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 5);
GameTooltip:AddLine("|cffff0000"..AL["Query Server"]);
GameTooltip:AddLine(AL["Queries the server for all items"]);
GameTooltip:AddLine(AL["on this page. The items will be"]);
GameTooltip:AddLine(AL["refreshed when you next mouse"]);
GameTooltip:AddLine(AL["over them. |cffff0000 (Includes Bloodforged)"]);
GameTooltip:Show();
</OnEnter>
<OnLeave>
GameTooltip:Hide();
</OnLeave>
<OnClick>
GameTooltip:Hide();
AtlasLoot_QueryLootPage();
</OnClick>
</Scripts>
</Button>
<Button name="AtlasLootQuickLooksButton"> <Button name="AtlasLootQuickLooksButton">
<Size> <Size>
<AbsDimension x="25" y="25" /> <AbsDimension x="25" y="25" />
@@ -763,24 +726,6 @@
</OnClick> </OnClick>
</Scripts> </Scripts>
</CheckButton> </CheckButton>
<CheckButton name="$parentSubtablePosition" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="5" y="-190"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
getglobal(this:GetName().."Text"):SetText("Swap Subtable/Difficuilty Menus");
</OnLoad>
<OnClick>
AtlasLootOptions_SubtablePositionToggle();
</OnClick>
</Scripts>
</CheckButton>
<CheckButton name="$parentLoDStartup" inherits="OptionsCheckButtonTemplate"> <CheckButton name="$parentLoDStartup" inherits="OptionsCheckButtonTemplate">
<Anchors> <Anchors>
<Anchor point="TOP"> <Anchor point="TOP">
@@ -863,26 +808,6 @@
</OnClick> </OnClick>
</Scripts> </Scripts>
</CheckButton> </CheckButton>
<CheckButton name="$parentItemAutoQuery" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="5" y="-136"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
getglobal(this:GetName().."Text"):SetText(AL["Auto Query items on page load"]);
</OnLoad>
<OnClick>
AtlasLootOptions_ItemAutoQuery();
</OnClick>
</Scripts>
</CheckButton>
<CheckButton name="$parentHidePanel" inherits="OptionsCheckButtonTemplate"> <CheckButton name="$parentHidePanel" inherits="OptionsCheckButtonTemplate">
<Anchors> <Anchors>
<Anchor point="TOP"> <Anchor point="TOP">
+14 -4
View File
@@ -4,10 +4,12 @@ ItemIDsDatabase[18564] = {18564, 18564, 318564, 218564};
ItemIDsDatabase[17204] = {17204, 17204, 317204, 217204}; ItemIDsDatabase[17204] = {17204, 17204, 317204, 217204};
ItemIDsDatabase[19017] = {19017, 19017, 319017, 219017}; ItemIDsDatabase[19017] = {19017, 19017, 319017, 219017};
ItemIDsDatabase[11879] = {11879, 11879, 311879, 211879}; ItemIDsDatabase[11879] = {11879, 11879, 311879, 211879};
ItemIDsDatabase[22589] = {6022589, 22589, 100174, 222589};
ItemIDsDatabase[22632] = {6022632, 22632, 22632, 222632};
ItemIDsDatabase[22631] = {6022631, 22631, 22631, 222631}; ItemIDsDatabase[22589] = {6022589, 22589, 322589, 222589};
ItemIDsDatabase[22630] = {6022630, 22630, 22630, 222630}; ItemIDsDatabase[22632] = {6022632, 22632, 322632, 222632};
ItemIDsDatabase[22631] = {6022631, 22631, 322631, 222631};
ItemIDsDatabase[22630] = {6022630, 22630, 322630, 222630};
ItemIDsDatabase[2032902] = {6053891, 2032902, 2232902, 2332902}; ItemIDsDatabase[2032902] = {6053891, 2032902, 2232902, 2332902};
ItemIDsDatabase[44831] = {6044831, 44831, 344831, 244831}; ItemIDsDatabase[44831] = {6044831, 44831, 344831, 244831};
@@ -69,3 +71,11 @@ ItemIDsDatabase[30249] = {30249, 30249, 330249, 230249};
ItemIDsDatabase[30237] = {30237, 30237, 330237, 230237}; ItemIDsDatabase[30237] = {30237, 30237, 330237, 230237};
ItemIDsDatabase[30240] = {30240, 30240, 330240, 230240}; ItemIDsDatabase[30240] = {30240, 30240, 330240, 230240};
ItemIDsDatabase[30246] = {30246, 30246, 30246, 230246}; ItemIDsDatabase[30246] = {30246, 30246, 30246, 230246};
--Druid
ItemIDsDatabase[29098] = {6029098, 29098, 314712, 214712};
ItemIDsDatabase[29100] = {6029100, 29100, 314714, 214714};
ItemIDsDatabase[29096] = {6029096, 29096, 314710, 214710};
ItemIDsDatabase[29097] = {6029097, 29097, 314711, 214711};
ItemIDsDatabase[29099] = {6029099, 29099, 314713, 214713};
+4 -2
View File
@@ -265,8 +265,10 @@ function AtlasLootItem_OnClick(arg1)
end end
elseif (arg1=="LeftButton") and this.sourcePage ~= nil then elseif (arg1=="LeftButton") and this.sourcePage ~= nil then
--Holds AtlasLoot_Lastboss so back button works --Holds AtlasLoot_Lastboss so back button works
AtlasLoot_Hold = true; if AtlasLoot_Data[this.sourcePage] == nil then
AtlasLoot_ShowBossLoot(this.sourcePage, this.sourcePage, pFrame); Atlasloot_CreateToken(this.sourcePage)
end
AtlasLoot_ShowItemsFrame(this.sourcePage, "",this.sourcePage, pFrame,1);
end end
else else
if IsShiftKeyDown() then if IsShiftKeyDown() then
+3 -45
View File
@@ -13,7 +13,6 @@ AtlasLootOptions_EquipCompareToggle()
AtlasLootOptions_OpaqueToggle() AtlasLootOptions_OpaqueToggle()
AtlasLootOptions_ItemIDToggle() AtlasLootOptions_ItemIDToggle()
AtlasLootOptions_ItemSpam() AtlasLootOptions_ItemSpam()
AtlasLootOptions_ItemAutoQuery()
AtlasLootOptions_MinimapToggle() AtlasLootOptions_MinimapToggle()
AtlasLootOptions_LoDSpam() AtlasLootOptions_LoDSpam()
AtlasLootOptions_LoDStartup() AtlasLootOptions_LoDStartup()
@@ -46,10 +45,8 @@ function AtlasLootOptions_Init()
AtlasLootOptionsFrameLootlinkTT:SetChecked(AtlasLoot.db.profile.LootlinkTT); AtlasLootOptionsFrameLootlinkTT:SetChecked(AtlasLoot.db.profile.LootlinkTT);
AtlasLootOptionsFrameItemSyncTT:SetChecked(AtlasLoot.db.profile.ItemSyncTT); AtlasLootOptionsFrameItemSyncTT:SetChecked(AtlasLoot.db.profile.ItemSyncTT);
AtlasLootOptionsFrameEquipCompare:SetChecked(AtlasLoot.db.profile.EquipCompare); AtlasLootOptionsFrameEquipCompare:SetChecked(AtlasLoot.db.profile.EquipCompare);
AtlasLootOptionsFrameItemAutoQuery:SetChecked(AtlasLoot.db.profile.ItemAutoQuery);
AtlasLootOptionsFrameOpaque:SetChecked(AtlasLoot.db.profile.Opaque); AtlasLootOptionsFrameOpaque:SetChecked(AtlasLoot.db.profile.Opaque);
AtlasLootOptionsFrameItemID:SetChecked(AtlasLoot.db.profile.ItemIDs); AtlasLootOptionsFrameItemID:SetChecked(AtlasLoot.db.profile.ItemIDs);
AtlasLootOptionsFrameSubtablePosition:SetChecked(AtlasLoot.db.profile.SubtablePosition);
AtlasLootOptionsFrameItemSpam:SetChecked(AtlasLoot.db.profile.ItemSpam); AtlasLootOptionsFrameItemSpam:SetChecked(AtlasLoot.db.profile.ItemSpam);
AtlasLootOptionsFrameLoDStartup:SetChecked(AtlasLoot.db.profile.LoadAllLoDStartup); AtlasLootOptionsFrameLoDStartup:SetChecked(AtlasLoot.db.profile.LoadAllLoDStartup);
AtlasLootOptionsFrameHidePanel:SetChecked(AtlasLoot.db.profile.HidePanel); AtlasLootOptionsFrameHidePanel:SetChecked(AtlasLoot.db.profile.HidePanel);
@@ -122,15 +119,6 @@ function AtlasLootOptions_ItemSpam()
AtlasLootOptions_Init(); AtlasLootOptions_Init();
end end
function AtlasLootOptions_ItemAutoQuery()
if (AtlasLoot.db.profile.ItemAutoQuery) then
AtlasLoot.db.profile.ItemAutoQuery = false;
else
AtlasLoot.db.profile.ItemAutoQuery = true;
end
AtlasLootOptions_Init();
end
function AtlasLootOptions_LoDStartup() function AtlasLootOptions_LoDStartup()
if (AtlasLoot.db.profile.LoadAllLoDStartup) then if (AtlasLoot.db.profile.LoadAllLoDStartup) then
AtlasLoot.db.profile.LoadAllLoDStartup = false; AtlasLoot.db.profile.LoadAllLoDStartup = false;
@@ -235,7 +223,6 @@ function AtlasLoot_CreateOptionsInfoTooltips()
AtlasLoot_AddTooltip("AtlasLootOptionsFrameHidePanel", nil) -- AL["Hide AtlasLoot Panel"] AtlasLoot_AddTooltip("AtlasLootOptionsFrameHidePanel", nil) -- AL["Hide AtlasLoot Panel"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrameItemSpam", nil) -- AL["Suppress Item Query Text"] AtlasLoot_AddTooltip("AtlasLootOptionsFrameItemSpam", nil) -- AL["Suppress Item Query Text"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrameLoDSpam", nil) -- AL["Notify on LoD Module Load"] AtlasLoot_AddTooltip("AtlasLootOptionsFrameLoDSpam", nil) -- AL["Notify on LoD Module Load"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrameItemAutoQuery", nil) -- AL["Auto Query items on page load"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrameLootBrowserScale", nil) -- Scale SLIDER AtlasLoot_AddTooltip("AtlasLootOptionsFrameLootBrowserScale", nil) -- Scale SLIDER
AtlasLoot_AddTooltip("AtlasLootOptionsFrame_ResetAtlasLoot", nil) -- AL["Reset Frames"] AtlasLoot_AddTooltip("AtlasLootOptionsFrame_ResetAtlasLoot", nil) -- AL["Reset Frames"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrame_ResetWishlist", nil) -- AL["Reset Wishlist"] AtlasLoot_AddTooltip("AtlasLootOptionsFrame_ResetWishlist", nil) -- AL["Reset Wishlist"]
@@ -243,7 +230,6 @@ function AtlasLoot_CreateOptionsInfoTooltips()
AtlasLoot_AddTooltip("AtlasLootOptionsFrame_FuBarShow", nil) -- AL["Show FuBar Plugin"] AtlasLoot_AddTooltip("AtlasLootOptionsFrame_FuBarShow", nil) -- AL["Show FuBar Plugin"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrame_FuBarHide", nil) -- AL["Hide FuBar Plugin"] AtlasLoot_AddTooltip("AtlasLootOptionsFrame_FuBarHide", nil) -- AL["Hide FuBar Plugin"]
AtlasLoot_AddTooltip("AtlasLoot_SelectLootBrowserStyle", nil) AtlasLoot_AddTooltip("AtlasLoot_SelectLootBrowserStyle", nil)
--AtlasLoot_AddTooltip("AtlasLoot_SelectMythicPlussTier", nil)
end end
function AtlasLoot_OptionsOnShow() function AtlasLoot_OptionsOnShow()
@@ -255,10 +241,6 @@ function AtlasLoot_OptionsOnShow()
UIDropDownMenu_Initialize(AtlasLoot_CraftingLink, AtlasLoot_CraftingLink_Initialize); UIDropDownMenu_Initialize(AtlasLoot_CraftingLink, AtlasLoot_CraftingLink_Initialize);
UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, AtlasLoot.db.profile.CraftingLink); UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, AtlasLoot.db.profile.CraftingLink);
UIDropDownMenu_SetWidth(AtlasLoot_CraftingLink, 150); UIDropDownMenu_SetWidth(AtlasLoot_CraftingLink, 150);
-- AtlasLoot_SelectMythicPlussTier_Label:SetText(AL["Select Mythic Pluss Tier:"]);
-- UIDropDownMenu_Initialize(AtlasLoot_SelectMythicPlussTier, AtlasLoot_SelectMythicPlussTier_Initialize);
-- UIDropDownMenu_SetSelectedID(AtlasLoot_SelectMythicPlussTier, AtlasLoot.db.profile.MythicPlussTier);
-- UIDropDownMenu_SetWidth(AtlasLoot_SelectMythicPlussTier, 150);
end end
function AtlasLoot_SelectLootBrowserStyle_Initialize() function AtlasLoot_SelectLootBrowserStyle_Initialize()
@@ -306,35 +288,11 @@ function AtlasLoot_CraftingLink_OnClick()
UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, thisID); UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, thisID);
AtlasLoot.db.profile.CraftingLink = thisID; AtlasLoot.db.profile.CraftingLink = thisID;
if AtlasLootItemsFrame:IsVisible() and AtlasLootItemsFrame.refresh then if AtlasLootItemsFrame:IsVisible() and AtlasLootItemsFrame.refresh then
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]); AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4], AtlasLootItemsFrame.refresh[5]);
end end
AtlasLoot_OptionsOnShow(); AtlasLoot_OptionsOnShow();
end end
-- function AtlasLoot_SelectMythicPlussTier_Initialize()
-- local info;
-- for t = 0, 10, 1 do
-- info = {
-- text = AL["Mythic Tier "..t];
-- func = AtlasLoot_MythicPlussTier_OnClick;
-- };
-- UIDropDownMenu_AddButton(info);
-- end
-- end
-- function AtlasLoot_MythicPlussTier_OnClick()
-- local thisID = this:GetID();
-- UIDropDownMenu_SetSelectedID(AtlasLoot_SelectMythicPlussTier, thisID);
-- AtlasLoot.db.profile.MythicPlussTier = thisID;
-- if AtlasLootItemsFrame:IsVisible() and AtlasLootItemsFrame.refresh then
-- Mythic_Reload();
-- AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
-- end
-- AtlasLoot_OptionsOnShow();
-- end
local Authors = { local Authors = {
["Calî"] = "Arthas", ["Calî"] = "Arthas",
["Lâg"] = "Arthas", ["Lâg"] = "Arthas",
@@ -347,9 +305,9 @@ function AtlasLoot_UnitTarget()
local name = GameTooltip:GetUnit() local name = GameTooltip:GetUnit()
if UnitName("mouseover") == name then if UnitName("mouseover") == name then
local _, realm = UnitName("mouseover") local _, realm = UnitName("mouseover")
if not realm then if not realm then
realm = GetRealmName() realm = GetRealmName()
end; end;
if name and Authors[name] then if name and Authors[name] then
if Authors[name] == realm then if Authors[name] == realm then
GameTooltip:AddLine("AtlasLoot Author |TInterface\\AddOns\\AtlasLoot\\Images\\gold:0|t", 0, 1, 0 ) GameTooltip:AddLine("AtlasLoot Author |TInterface\\AddOns\\AtlasLoot\\Images\\gold:0|t", 0, 1, 0 )
+20 -18
View File
@@ -676,29 +676,31 @@ local function DoSearch(searchText)
local difficulty = TermsContainDifficulty(searchTerms); local difficulty = TermsContainDifficulty(searchTerms);
for dataID, data in pairs(AtlasLoot_Data) do for dataID, data in pairs(AtlasLoot_Data) do
for _, v in ipairs(data) do for _, datatable in pairs(data) do
local _, itemId, itemType, atlasName = unpack(v) for _, v in ipairs(datatable) do
local _, itemId, itemType, atlasName = unpack(v)
if type(itemId) == "number" and itemId > 0 then if type(itemId) == "number" and itemId > 0 then
if difficulty ~= 2 then if difficulty ~= 2 then
itemId = AL_FindId(itemId, difficulty) or itemId; itemId = AL_FindId(itemId, difficulty) or itemId;
end end
local itemDetails = {GetItemDetails(itemId, atlasName)}; local itemDetails = {GetItemDetails(itemId, atlasName)};
itemDetails[8] = difficulty; itemDetails[8] = difficulty;
if #searchTerms == 1 and searchTerms[1].name then if #searchTerms == 1 and searchTerms[1].name then
if nameMatches(atlasName, searchTerms[1].name) then if nameMatches(atlasName, searchTerms[1].name) then
AddItemToSearchResult(itemId, itemType, atlasName, dataID);
end
elseif ItemMatchesAllTerms(searchTerms, itemDetails) then
AddItemToSearchResult(itemId, itemType, atlasName, dataID); AddItemToSearchResult(itemId, itemType, atlasName, dataID);
end end
elseif ItemMatchesAllTerms(searchTerms, itemDetails) then elseif not equipableFilterOn and itemId and itemId ~= "" and string.sub(itemId, 1, 1) == "s" then
AddItemToSearchResult(itemId, itemType, atlasName, dataID); local spellName = GetSpellName(itemId, atlasName)
end if nameMatches(spellName, searchText) then
elseif not equipableFilterOn and itemId and itemId ~= "" and string.sub(itemId, 1, 1) == "s" then spellName = string.sub(atlasName, 1, 4) .. spellName;
local spellName = GetSpellName(itemId, atlasName) AddItemToSearchResult(itemId, itemType, spellName, dataID)
if nameMatches(spellName, searchText) then end
spellName = string.sub(atlasName, 1, 4) .. spellName;
AddItemToSearchResult(itemId, itemType, spellName, dataID)
end end
end end
end end
@@ -33,47 +33,6 @@ AtlasLoot_Data["AtlasLootFallback"] = {
EmptyInstance = {}; EmptyInstance = {};
}; };
--[[
AtlasLoot_DewDropClick(tablename, text, tabletype):
tablename - Name of the loot table in the database
text - Heading for the loot table
Called when a button in AtlasLoot_Dewdrop is clicked
]]
function AtlasLoot_DewDropClick(tablename, text, tablenum)
ATLASLOOT_FILTER_ENABLE = false;
AtlasLootFilterCheck:SetChecked(false);
AltasLoot_CurrentTable = tablename;
tablename = tablename .. AtlasLoot_Expac;
AtlasLootDefaultFrame_Menu:SetText(text);
AtlasLoot_IsLootTableAvailable(tablename,AtlasLoot_SubMenus[tablename].Module);
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenuRegister(AtlasLoot_SubMenus[tablename]);
if AtlasLoot_SubMenus[tablename].AutoLoad then
AtlasLoot_DewDropSubMenuClick(AtlasLoot_SubMenus[tablename][1][2])
end
AtlasLoot_Dewdrop:Close(1);
end
--[[
AtlasLoot_DewDropSubMenuClick(tablename, text):
tablename - Name of the loot table in the database
text - Heading for the loot table
Called when a button in AtlasLoot_DewdropSubMenu is clicked
]]
function AtlasLoot_DewDropSubMenuClick(tablename, text)
--Definition of where I want the loot table to be shown
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
--Show the select loot table
local tablenum = AtlasLoot_Data[tablename].Loadfirst or 1;
ItemindexID = ItemindexID or 2;
AtlasLoot_ShowItemsFrame(tablename, AtlasLoot_Data, AtlasLoot_Data[tablename][tablenum].Name, pFrame, tablenum);
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(tablename, AtlasLoot_Data, pFrame, tablenum);
--Save needed info for fuure re-display of the table
AtlasLoot.db.profile.LastBoss = {tablename, AtlasLoot_Data, AtlasLoot_Data[tablename][tablenum].Name, pFrame, tablenum};
--Show the table that has been selected
AtlasLoot_DewdropSubMenu:Close(1);
end
--[[ --[[
AtlasLootDefaultFrame_OnShow: AtlasLootDefaultFrame_OnShow:
Called whenever the loot browser is shown and sets up buttons and loot tables Called whenever the loot browser is shown and sets up buttons and loot tables
@@ -86,18 +45,23 @@ function AtlasLootDefaultFrame_OnShow()
if AtlasFrame then if AtlasFrame then
AtlasFrame:Hide(); AtlasFrame:Hide();
end end
--Remove the selection of a loot table in Atlas --Remove the selection of a loot table in Atlas
AtlasLootItemsFrame.activeBoss = nil; AtlasLootItemsFrame.activeBoss = nil;
--Set the item table to the loot table --Set the item table to the loot table
AtlasLoot_SetItemInfoFrame(pFrame); AtlasLoot_SetItemInfoFrame(pFrame);
--Show the last displayed loot table --Show the last displayed loot table
local lastboss = AtlasLoot.db.profile.LastBoss; local lastboss = AtlasLoot.db.profile.LastBoss;
if AtlasLoot_IsLootTableAvailable(lastboss[2]) then if lastboss then
AtlasLoot_ShowItemsFrame(lastboss[1], lastboss[2], lastboss[3], lastboss[4], lastboss[5]); ATLASLOOT_CURRENTTABLE = lastboss[7];
else ATLASLOOT_LASTMODULE = lastboss[6];
AtlasLoot_ShowItemsFrame("EmptyTable", "",AL["Select a Loot Table..."], pFrame); AtlasLoot_IsLootTableAvailable(lastboss[6]);
end AtlasLoot_ShowItemsFrame(lastboss[1], AtlasLoot_Data, AtlasLoot_Data[lastboss[1]][lastboss[5]].Name, pFrame, lastboss[5]);
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(lastboss[1], AtlasLoot_Data, pFrame, lastboss[5]);
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenuRegister(AtlasLoot_SubMenus[lastboss[7]]);
else
AtlasLoot_ShowItemsFrame("EmptyTable", AtlasLoot_Data, AtlasLoot_Data["EmptyTable"].Name,pFrame,1);
end
end end
--[[ --[[
@@ -111,13 +75,60 @@ function AtlasLootDefaultFrame_OnHide()
AtlasLoot_DewdropExpansionMenu:Close(1); AtlasLoot_DewdropExpansionMenu:Close(1);
end end
--[[
AtlasLoot_DewDropClick(tablename, text, tabletype):
tablename - Name of the loot table in the database
text - Heading for the loot table
Called when a button in AtlasLoot_Dewdrop is clicked
]]
function AtlasLoot_DewDropClick(tablename, text, tablenum)
ATLASLOOT_FILTER_ENABLE = false;
AtlasLootFilterCheck:SetChecked(false);
tablename = tablename .. AtlasLoot_Expac;
ATLASLOOT_CURRENTTABLE = tablename;
tablenum = tablenum or 1;
ATLASLOOT_LASTMODULE = AtlasLoot_SubMenus[tablename].Module;
AtlasLootDefaultFrame_Menu:SetText(text);
AtlasLoot_IsLootTableAvailable(AtlasLoot_SubMenus[tablename].Module);
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenuRegister(AtlasLoot_SubMenus[tablename]);
AtlasLoot_DewDropSubMenuClick(AtlasLoot_SubMenus[tablename][tablenum][2])
AtlasLoot_Dewdrop:Close(1);
end
--[[
AtlasLoot_DewDropSubMenuClick(tablename, text):
tablename - Name of the loot table in the database
text - Heading for the loot table
Called when a button in AtlasLoot_DewdropSubMenu is clicked
]]
function AtlasLoot_DewDropSubMenuClick(tablename)
--Definition of where I want the loot table to be shown
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
--Show the select loot table
local tablenum = AtlasLoot_Data[tablename].Loadfirst or 1;
ItemindexID = ItemindexID or 2;
AtlasLoot_ShowItemsFrame(tablename, AtlasLoot_Data, AtlasLoot_Data[tablename][tablenum].Name, pFrame, tablenum);
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(tablename, AtlasLoot_Data, pFrame, tablenum);
--Save needed info for fuure re-display of the table
-- AtlasLoot.db.profile.LastBoss = {tablename, AtlasLoot_Data, AtlasLoot_Data[tablename][tablenum].Name, pFrame, tablenum, ATLASLOOT_LASTMODULE, ATLASLOOT_CURRENTTABLE};
--Show the table that has been selected
AtlasLoot_DewdropSubMenu:Close(1);
end
--[[
AtlasLoot_DewdropExpansionMenuClick(expansion, name):
tablename - Name of the loot table in the database
text - Heading for the loot table
Called when a button in AtlasLoot_DewdropSubMenu is clicked
]]
function AtlasLoot_DewdropExpansionMenuClick(expansion, name) function AtlasLoot_DewdropExpansionMenuClick(expansion, name)
AtlasLootDefaultFrame_ExpansionMenu:SetText(name); AtlasLootDefaultFrame_ExpansionMenu:SetText(name);
AtlasLoot_DewdropExpansionMenu:Close(1); AtlasLoot_DewdropExpansionMenu:Close(1);
AtlasLoot_Expac = expansion; AtlasLoot_Expac = expansion;
if AltasLoot_CurrentTable then if ATLASLOOT_CURRENTTABLE then
local tablename = AltasLoot_CurrentTable .. AtlasLoot_Expac; local tablename = AtlasLoot_CleandataID(ATLASLOOT_CURRENTTABLE, 1) .. AtlasLoot_Expac;
AtlasLoot_IsLootTableAvailable(tablename,AtlasLoot_SubMenus[tablename].Module); AtlasLoot_IsLootTableAvailable(AtlasLoot_SubMenus[tablename].Module);
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu); AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenuRegister(AtlasLoot_SubMenus[tablename]); AtlasLoot_DewdropSubMenuRegister(AtlasLoot_SubMenus[tablename]);
end end
@@ -188,6 +199,7 @@ function AtlasLoot_DewdropSubMenuRegister(loottable)
'func', AtlasLoot_DewDropSubMenuClick, 'func', AtlasLoot_DewDropSubMenuClick,
'arg1', v[2], 'arg1', v[2],
'arg2', v[1], 'arg2', v[1],
'arg2', v[3],
'notCheckable', true 'notCheckable', true
) )
else else
@@ -228,18 +240,18 @@ function AtlasLoot_DewdropRegister()
if AtlasLoot_Modules then if AtlasLoot_Modules then
for k,v in ipairs(AtlasLoot_Modules) do for k,v in ipairs(AtlasLoot_Modules) do
--If a link to show a submenu --If a link to show a submenu
local checked = false; local checked = false;
AtlasLoot_Dewdrop:AddLine( AtlasLoot_Dewdrop:AddLine(
'text', v[1], 'text', v[1],
'textR', 1, 'textR', 1,
'textG', 0.82, 'textG', 0.82,
'textB', 0, 'textB', 0,
'func', AtlasLoot_DewDropClick, 'func', AtlasLoot_DewDropClick,
'arg1', v[2], 'arg1', v[2],
'arg2', v[1], 'arg2', v[1],
'arg3', k, 'arg3', v[3],
'notCheckable', true 'notCheckable', true
) )
end end
end end
--Close button --Close button
@@ -1,11 +1,12 @@
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot"); local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
--Main AtlasLoot Frame --Main AtlasLoot Frame
local mainframe = CreateFrame("FRAME", "AtlasLootDefaultFrame", UIParent, nil); local mainframe = CreateFrame("FRAME", "AtlasLootDefaultFrame", UIParent, nil);
mainframe:SetPoint("CENTER",0,0); mainframe:SetPoint("CENTER",0,0);
mainframe:SetSize(880,690); mainframe:SetSize(880,690);
mainframe:EnableMouse(true); mainframe:EnableMouse(true);
mainframe:SetMovable(1); mainframe:SetMovable(1);
mainframe:SetFrameStrata("HIGH");
mainframe:SetBackdropColor(0.75,0,0,0.75); mainframe:SetBackdropColor(0.75,0,0,0.75);
mainframe:RegisterForDrag("LeftButton"); mainframe:RegisterForDrag("LeftButton");
mainframe:SetMovable(true); mainframe:SetMovable(true);
@@ -20,7 +21,6 @@ local mainframe = CreateFrame("FRAME", "AtlasLootDefaultFrame", UIParent, nil);
titleSize = 32, titleSize = 32,
}); });
mainframe:SetScript("OnShow", function() mainframe:SetScript("OnShow", function()
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
getglobal("AtlasLootDefaultFrame_Notice"):SetText(AL["This is a loot browser only. To view maps as well, install either Atlas or Alphamap."]); getglobal("AtlasLootDefaultFrame_Notice"):SetText(AL["This is a loot browser only. To view maps as well, install either Atlas or Alphamap."]);
AtlasLootDefaultFrame_OnShow(); AtlasLootDefaultFrame_OnShow();
end); end);
@@ -71,7 +71,7 @@ local optionsbtn = CreateFrame("Button", "AtlasLootDefaultFrame_Options", AtlasL
--Moduel Menu Button --Moduel Menu Button
local menubtn = CreateFrame("Button", "AtlasLootDefaultFrame_Menu", AtlasLootDefaultFrame, "OptionsButtonTemplate"); local menubtn = CreateFrame("Button", "AtlasLootDefaultFrame_Menu", AtlasLootDefaultFrame, "OptionsButtonTemplate");
menubtn:SetSize(179,25); menubtn:SetSize(174,25);
menubtn:SetPoint("TOPLEFT", AtlasLootDefaultFrame, "TOPLEFT",38,-55); menubtn:SetPoint("TOPLEFT", AtlasLootDefaultFrame, "TOPLEFT",38,-55);
menubtn.Lable = menubtn:CreateFontString("AtlasLootDefaultFrame_SelectedCategory", "OVERLAY","GameFontNormal") menubtn.Lable = menubtn:CreateFontString("AtlasLootDefaultFrame_SelectedCategory", "OVERLAY","GameFontNormal")
menubtn.Lable:SetPoint("TOP",menubtn,"BOTTOM",0,37); menubtn.Lable:SetPoint("TOP",menubtn,"BOTTOM",0,37);
@@ -91,8 +91,8 @@ local menubtn = CreateFrame("Button", "AtlasLootDefaultFrame_Menu", AtlasLootDef
--SubMenu Button --SubMenu Button
local submenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_SubMenu", AtlasLootDefaultFrame, "OptionsButtonTemplate"); local submenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_SubMenu", AtlasLootDefaultFrame, "OptionsButtonTemplate");
submenubtn:SetSize(179,25); submenubtn:SetSize(200,25);
submenubtn:SetPoint("LEFT", "AtlasLootDefaultFrame_Menu", "RIGHT",5,0); submenubtn:SetPoint("LEFT", "AtlasLootDefaultFrame_Menu", "RIGHT",0,0);
submenubtn.Lable = submenubtn:CreateFontString("AtlasLootDefaultFrame_SelectedTable", "OVERLAY","GameFontNormal") submenubtn.Lable = submenubtn:CreateFontString("AtlasLootDefaultFrame_SelectedTable", "OVERLAY","GameFontNormal")
submenubtn.Lable:SetPoint("TOP",submenubtn,"BOTTOM",0,37); submenubtn.Lable:SetPoint("TOP",submenubtn,"BOTTOM",0,37);
submenubtn.Lable:SetText("Select Subcategory"); submenubtn.Lable:SetText("Select Subcategory");
@@ -111,8 +111,8 @@ local submenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_SubMenu", AtlasL
--Expansion Menu Button --Expansion Menu Button
local expansionmenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_ExpansionMenu", AtlasLootDefaultFrame, "OptionsButtonTemplate"); local expansionmenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_ExpansionMenu", AtlasLootDefaultFrame, "OptionsButtonTemplate");
expansionmenubtn:SetSize(179,25); expansionmenubtn:SetSize(174,25);
expansionmenubtn:SetPoint("LEFT", "AtlasLootDefaultFrame_SubMenu", "RIGHT",5,0); expansionmenubtn:SetPoint("LEFT", "AtlasLootDefaultFrame_SubMenu", "RIGHT",0,0);
expansionmenubtn:SetText(AtlasLoot_ExpansionMenu[GetAccountExpansionLevel()+1][1]); expansionmenubtn:SetText(AtlasLoot_ExpansionMenu[GetAccountExpansionLevel()+1][1]);
expansionmenubtn.Lable = expansionmenubtn:CreateFontString("AtlasLootDefaultFrame_SelectedTable2", "OVERLAY","GameFontNormal") expansionmenubtn.Lable = expansionmenubtn:CreateFontString("AtlasLootDefaultFrame_SelectedTable2", "OVERLAY","GameFontNormal")
expansionmenubtn.Lable:SetPoint("TOP",expansionmenubtn,"BOTTOM",0,37); expansionmenubtn.Lable:SetPoint("TOP",expansionmenubtn,"BOTTOM",0,37);
@@ -145,7 +145,6 @@ local wishbtn = CreateFrame("Button", "AtlasLootDefaultFrameWishListButton", Atl
wishbtn:SetSize(105,20); wishbtn:SetSize(105,20);
wishbtn:SetScript("OnClick", function(self)AtlasLoot_ShowWishListDropDown("","","","","",self,true) end); wishbtn:SetScript("OnClick", function(self)AtlasLoot_ShowWishListDropDown("","","","","",self,true) end);
wishbtn:SetScript("OnShow", function(self) wishbtn:SetScript("OnShow", function(self)
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
self:SetText(AL["Wishlist"]); self:SetText(AL["Wishlist"]);
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ); self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
end); end);
@@ -167,14 +166,15 @@ local function presetcreate(preset,num)
end end
end); end);
preset:SetScript("OnClick", function() preset:SetScript("OnClick", function()
if AtlasLoot_IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][num][1]) then if AtlasLoot_IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][num][6]) then
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" }; pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
ATLASLOOT_LASTMODULE = AtlasLootCharDB["QuickLooks"][num][6];
ATLASLOOT_CURRENTTABLE = AtlasLootCharDB["QuickLooks"][num][7];
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(AtlasLootCharDB["QuickLooks"][num][1], AtlasLootCharDB["QuickLooks"][num][2], pFrame, AtlasLootCharDB["QuickLooks"][num][5]) AtlasLootDefaultFrame_SubTableScrollFrameUpdate(AtlasLootCharDB["QuickLooks"][num][1], AtlasLootCharDB["QuickLooks"][num][2], pFrame, AtlasLootCharDB["QuickLooks"][num][5])
AtlasLoot_ShowItemsFrame(AtlasLootCharDB["QuickLooks"][num][1], AtlasLootCharDB["QuickLooks"][num][2], AtlasLootCharDB["QuickLooks"][num][3], pFrame, AtlasLootCharDB["QuickLooks"][num][5]); AtlasLoot_ShowItemsFrame(AtlasLootCharDB["QuickLooks"][num][1], AtlasLootCharDB["QuickLooks"][num][2], AtlasLootCharDB["QuickLooks"][num][3], pFrame, AtlasLootCharDB["QuickLooks"][num][5]);
end end
end); end);
preset:SetScript("OnShow", function(self) preset:SetScript("OnShow", function(self)
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
self:SetText(AL["QuickLook"].." "..num); self:SetText(AL["QuickLook"].." "..num);
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ); self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
if ((not AtlasLootCharDB["QuickLooks"][num]) or (not AtlasLootCharDB["QuickLooks"][num][1])) or (AtlasLootCharDB["QuickLooks"][num][1]==nil) then if ((not AtlasLootCharDB["QuickLooks"][num]) or (not AtlasLootCharDB["QuickLooks"][num][1])) or (AtlasLootCharDB["QuickLooks"][num][1]==nil) then
@@ -218,7 +218,6 @@ local searchbtn = CreateFrame("Button","AtlasLootDefaultFrameSearchButton",Atlas
searchbtn:SetSize(69,32); searchbtn:SetSize(69,32);
searchbtn:SetPoint("LEFT","AtlasLootDefaultFrameSearchBox","RIGHT",2,0); searchbtn:SetPoint("LEFT","AtlasLootDefaultFrameSearchBox","RIGHT",2,0);
searchbtn:SetScript("OnShow", function(self) searchbtn:SetScript("OnShow", function(self)
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
self:SetText(AL["Search"]); self:SetText(AL["Search"]);
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ); self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
end); end);
@@ -243,7 +242,6 @@ local searchclear = CreateFrame("Button","AtlasLootDefaultFrameSearchClearButton
searchclear:SetSize(58,32); searchclear:SetSize(58,32);
searchclear:SetPoint("LEFT",AtlasLootDefaultFrameSearchOptionsButton,"RIGHT",-2,0); searchclear:SetPoint("LEFT",AtlasLootDefaultFrameSearchOptionsButton,"RIGHT",-2,0);
searchclear:SetScript("OnShow", function(self) searchclear:SetScript("OnShow", function(self)
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
self:SetText(AL["Clear"]); self:SetText(AL["Clear"]);
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ); self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
end); end);
@@ -256,8 +254,7 @@ local searchclear = CreateFrame("Button","AtlasLootDefaultFrameSearchClearButton
local lastresult = CreateFrame("Button","AtlasLootDefaultFrameLastResultButton",AtlasLootDefaultFrameSearchBox,"UIPanelButtonTemplate2"); local lastresult = CreateFrame("Button","AtlasLootDefaultFrameLastResultButton",AtlasLootDefaultFrameSearchBox,"UIPanelButtonTemplate2");
lastresult:SetSize(100,32); lastresult:SetSize(100,32);
lastresult:SetPoint("LEFT",AtlasLootDefaultFrameSearchClearButton,"RIGHT",1,0); lastresult:SetPoint("LEFT",AtlasLootDefaultFrameSearchClearButton,"RIGHT",1,0);
lastresult:SetScript("OnShow", function(self) lastresult:SetScript("OnShow", function(self)
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
self:SetText(AL["Last Result"]); self:SetText(AL["Last Result"]);
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ); self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
end); end);
@@ -267,8 +264,7 @@ local lastresult = CreateFrame("Button","AtlasLootDefaultFrameLastResultButton",
local advSearch = CreateFrame("Button","AtlasLootDefaultFrameAdvancedSearchButton", AtlasLootDefaultFrame,"UIPanelButtonTemplate2"); local advSearch = CreateFrame("Button","AtlasLootDefaultFrameAdvancedSearchButton", AtlasLootDefaultFrame,"UIPanelButtonTemplate2");
advSearch:SetSize(95,32); advSearch:SetSize(95,32);
advSearch:SetPoint("LEFT",AtlasLootDefaultFrameLastResultButton,"RIGHT",2); advSearch:SetPoint("LEFT",AtlasLootDefaultFrameLastResultButton,"RIGHT",2);
advSearch:SetScript("OnShow", function(self) advSearch:SetScript("OnShow", function(self)
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
self:SetText("Advanced"); self:SetText("Advanced");
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ); self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
end) end)
@@ -346,7 +342,7 @@ local rows = setmetatable({}, { __index = function(t, i)
row:SetCheckedTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD"); row:SetCheckedTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD");
row:SetScript("OnClick", function() row:SetScript("OnClick", function()
ItemindexID = row.itemIndex; ItemindexID = row.itemIndex;
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4], AtlasLootItemsFrame.refreshOri[5]); AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4], AtlasLootItemsFrame.refresh[5]);
AtlasLootDefaultFrame_ScrollFrameUpdate(); AtlasLootDefaultFrame_ScrollFrameUpdate();
end) end)
if i == 1 then if i == 1 then
@@ -372,7 +368,7 @@ local subtableFrame = CreateFrame("Frame", "Atlasloot_SubTableFrame", AtlasLootD
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16, edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16,
insets = { left = 4, right = 4, top = 4, bottom = 4 }, insets = { left = 4, right = 4, top = 4, bottom = 4 },
}); });
function AtlasLootDefaultFrame_SubTableScrollFrameUpdate(tablename, dataSource, pFrame, currenttablenum) function AtlasLootDefaultFrame_SubTableScrollFrameUpdate(tablename, dataSource, pFrame, currenttablenum)
if dataSource ~= nil then if dataSource ~= nil then
local maxValue = AtlasLoot_GetNumOfRows(dataSource[tablename]); local maxValue = AtlasLoot_GetNumOfRows(dataSource[tablename]);
@@ -408,13 +404,13 @@ local scrollSlider2 = CreateFrame("ScrollFrame","AtlasLootDefaultFrameSubTableSc
self.offset = math.floor(offset / ROW_HEIGHT + 0.5) self.offset = math.floor(offset / ROW_HEIGHT + 0.5)
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(subtableFrame.tablename); AtlasLootDefaultFrame_SubTableScrollFrameUpdate(subtableFrame.tablename);
end) end)
scrollSlider2:SetScript("OnShow", function() scrollSlider2:SetScript("OnShow", function()
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(subtableFrame.tablename); AtlasLootDefaultFrame_SubTableScrollFrameUpdate(subtableFrame.tablename);
end) end)
subtableFrame.scrollBar = scrollSlider2 subtableFrame.scrollBar = scrollSlider2
local rows2 = setmetatable({}, { __index = function(t, i) local rows2 = setmetatable({}, { __index = function(t, i)
local row = CreateFrame("CheckButton", "$parentRow"..i, subtableFrame) local row = CreateFrame("CheckButton", "$parentRow"..i, subtableFrame)
row:SetSize(150, ROW_HEIGHT) row:SetSize(150, ROW_HEIGHT)
@@ -423,7 +419,6 @@ local rows2 = setmetatable({}, { __index = function(t, i)
row:SetScript("OnClick", function() row:SetScript("OnClick", function()
AtlasLootDefaultFrame_SubTableScrollFrameUpdate(row.tablename, row.dataSource, row.pFrame, row.tablenum); AtlasLootDefaultFrame_SubTableScrollFrameUpdate(row.tablename, row.dataSource, row.pFrame, row.tablenum);
AtlasLoot_ShowItemsFrame(row.tablename, row.dataSource, row.dataSource[row.tablename][row.tablenum].Name, row.pFrame, row.tablenum); AtlasLoot_ShowItemsFrame(row.tablename, row.dataSource, row.dataSource[row.tablename][row.tablenum].Name, row.pFrame, row.tablenum);
AtlasLoot.db.profile.LastBoss = {row.tablename, row.dataSource, row.dataSource[row.tablename][row.tablenum].Name, row.pFrame, row.tablenum};
end) end)
if i == 1 then if i == 1 then
row:SetPoint("TOPLEFT", subtableFrame, 8, -8) row:SetPoint("TOPLEFT", subtableFrame, 8, -8)
@@ -434,5 +429,5 @@ local rows2 = setmetatable({}, { __index = function(t, i)
rawset(t, i, row) rawset(t, i, row)
return row return row
end }) end })
subtableFrame.rows = rows2 subtableFrame.rows = rows2
@@ -0,0 +1,473 @@
--- **AceTimer-3.0** provides a central facility for registering timers.
-- AceTimer supports one-shot timers and repeating timers. All timers are stored in an efficient
-- data structure that allows easy dispatching and fast rescheduling. Timers can be registered, rescheduled
-- or canceled at any time, even from within a running timer, without conflict or large overhead.\\
-- AceTimer is currently limited to firing timers at a frequency of 0.1s. This constant may change
-- in the future, but for now it seemed like a good compromise in efficiency and accuracy.
--
-- All `:Schedule` functions will return a handle to the current timer, which you will need to store if you
-- need to cancel or reschedule the timer you just registered.
--
-- **AceTimer-3.0** can be embeded into your addon, either explicitly by calling AceTimer:Embed(MyAddon) or by
-- specifying it as an embeded library in your AceAddon. All functions will be available on your addon object
-- and can be accessed directly, without having to explicitly call AceTimer itself.\\
-- It is recommended to embed AceTimer, otherwise you'll have to specify a custom `self` on all calls you
-- make into AceTimer.
-- @class file
-- @name AceTimer-3.0
-- @release $Id: AceTimer-3.0.lua 895 2009-12-06 16:28:55Z nevcairiel $
--[[
Basic assumptions:
* In a typical system, we do more re-scheduling per second than there are timer pulses per second
* Regardless of timer implementation, we cannot guarantee timely delivery due to FPS restriction (may be as low as 10)
This implementation:
CON: The smallest timer interval is constrained by HZ (currently 1/10s).
PRO: It will still correctly fire any timer slower than HZ over a length of time, e.g. 0.11s interval -> 90 times over 10 seconds
PRO: In lag bursts, the system simly skips missed timer intervals to decrease load
CON: Algorithms depending on a timer firing "N times per minute" will fail
PRO: (Re-)scheduling is O(1) with a VERY small constant. It's a simple linked list insertion in a hash bucket.
CAUTION: The BUCKETS constant constrains how many timers can be efficiently handled. With too many hash collisions, performance will decrease.
Major assumptions upheld:
- ALLOWS scheduling multiple timers with the same funcref/method
- ALLOWS scheduling more timers during OnUpdate processing
- ALLOWS unscheduling ANY timer (including the current running one) at any time, including during OnUpdate processing
]]
local MAJOR, MINOR = "AceTimer-3.0", 5
local AceTimer, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
if not AceTimer then return end -- No upgrade needed
AceTimer.hash = AceTimer.hash or {} -- Array of [0..BUCKET-1] = linked list of timers (using .next member)
-- Linked list gets around ACE-88 and ACE-90.
AceTimer.selfs = AceTimer.selfs or {} -- Array of [self]={[handle]=timerobj, [handle2]=timerobj2, ...}
AceTimer.frame = AceTimer.frame or CreateFrame("Frame", "AceTimer30Frame")
-- Lua APIs
local assert, error, loadstring = assert, error, loadstring
local setmetatable, rawset, rawget = setmetatable, rawset, rawget
local select, pairs, type, next, tostring = select, pairs, type, next, tostring
local floor, max, min = math.floor, math.max, math.min
local tconcat = table.concat
-- WoW APIs
local GetTime = GetTime
-- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
-- List them here for Mikk's FindGlobals script
-- GLOBALS: DEFAULT_CHAT_FRAME, geterrorhandler
-- Simple ONE-SHOT timer cache. Much more efficient than a full compost for our purposes.
local timerCache = nil
--[[
Timers will not be fired more often than HZ-1 times per second.
Keep at intended speed PLUS ONE or we get bitten by floating point rounding errors (n.5 + 0.1 can be n.599999)
If this is ever LOWERED, all existing timers need to be enforced to have a delay >= 1/HZ on lib upgrade.
If this number is ever changed, all entries need to be rehashed on lib upgrade.
]]
local HZ = 11
--[[
Prime for good distribution
If this number is ever changed, all entries need to be rehashed on lib upgrade.
]]
local BUCKETS = 131
local hash = AceTimer.hash
for i=1,BUCKETS do
hash[i] = hash[i] or false -- make it an integer-indexed array; it's faster than hashes
end
--[[
xpcall safecall implementation
]]
local xpcall = xpcall
local function errorhandler(err)
return geterrorhandler()(err)
end
local function CreateDispatcher(argCount)
local code = [[
local xpcall, eh = ... -- our arguments are received as unnamed values in "..." since we don't have a proper function declaration
local method, ARGS
local function call() return method(ARGS) end
local function dispatch(func, ...)
method = func
if not method then return end
ARGS = ...
return xpcall(call, eh)
end
return dispatch
]]
local ARGS = {}
for i = 1, argCount do ARGS[i] = "arg"..i end
code = code:gsub("ARGS", tconcat(ARGS, ", "))
return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(xpcall, errorhandler)
end
local Dispatchers = setmetatable({}, {
__index=function(self, argCount)
local dispatcher = CreateDispatcher(argCount)
rawset(self, argCount, dispatcher)
return dispatcher
end
})
Dispatchers[0] = function(func)
return xpcall(func, errorhandler)
end
local function safecall(func, ...)
return Dispatchers[select('#', ...)](func, ...)
end
local lastint = floor(GetTime() * HZ)
-- --------------------------------------------------------------------
-- OnUpdate handler
--
-- traverse buckets, always chasing "now", and fire timers that have expired
local function OnUpdate()
local now = GetTime()
local nowint = floor(now * HZ)
-- Have we passed into a new hash bucket?
if nowint == lastint then return end
local soon = now + 1 -- +1 is safe as long as 1 < HZ < BUCKETS/2
-- Pass through each bucket at most once
-- Happens on e.g. instance loads, but COULD happen on high local load situations also
for curint = (max(lastint, nowint - BUCKETS) + 1), nowint do -- loop until we catch up with "now", usually only 1 iteration
local curbucket = (curint % BUCKETS)+1
-- Yank the list of timers out of the bucket and empty it. This allows reinsertion in the currently-processed bucket from callbacks.
local nexttimer = hash[curbucket]
hash[curbucket] = false -- false rather than nil to prevent the array from becoming a hash
while nexttimer do
local timer = nexttimer
nexttimer = timer.next
local when = timer.when
if when < soon then
-- Call the timer func, either as a method on given object, or a straight function ref
local callback = timer.callback
if type(callback) == "string" then
safecall(timer.object[callback], timer.object, timer.arg)
elseif callback then
safecall(callback, timer.arg)
else
-- probably nilled out by CancelTimer
timer.delay = nil -- don't reschedule it
end
local delay = timer.delay -- NOW make a local copy, can't do it earlier in case the timer cancelled itself in the callback
if not delay then
-- single-shot timer (or cancelled)
AceTimer.selfs[timer.object][tostring(timer)] = nil
timerCache = timer
else
-- repeating timer
local newtime = when + delay
if newtime < now then -- Keep lag from making us firing a timer unnecessarily. (Note that this still won't catch too-short-delay timers though.)
newtime = now + delay
end
timer.when = newtime
-- add next timer execution to the correct bucket
local bucket = (floor(newtime * HZ) % BUCKETS) + 1
timer.next = hash[bucket]
hash[bucket] = timer
end
else -- if when>=soon
-- reinsert (yeah, somewhat expensive, but shouldn't be happening too often either due to hash distribution)
timer.next = hash[curbucket]
hash[curbucket] = timer
end -- if when<soon ... else
end -- while nexttimer do
end -- for curint=lastint,nowint
lastint = nowint
end
-- ---------------------------------------------------------------------
-- Reg( callback, delay, arg, repeating )
--
-- callback( function or string ) - direct function ref or method name in our object for the callback
-- delay(int) - delay for the timer
-- arg(variant) - any argument to be passed to the callback function
-- repeating(boolean) - repeating timer, or oneshot
--
-- returns the handle of the timer for later processing (canceling etc)
local function Reg(self, callback, delay, arg, repeating)
if type(callback) ~= "string" and type(callback) ~= "function" then
local error_origin = repeating and "ScheduleRepeatingTimer" or "ScheduleTimer"
error(MAJOR..": " .. error_origin .. "(callback, delay, arg): 'callback' - function or method name expected.", 3)
end
if type(callback) == "string" then
if type(self)~="table" then
local error_origin = repeating and "ScheduleRepeatingTimer" or "ScheduleTimer"
error(MAJOR..": " .. error_origin .. "(\"methodName\", delay, arg): 'self' - must be a table.", 3)
end
if type(self[callback]) ~= "function" then
local error_origin = repeating and "ScheduleRepeatingTimer" or "ScheduleTimer"
error(MAJOR..": " .. error_origin .. "(\"methodName\", delay, arg): 'methodName' - method not found on target object.", 3)
end
end
if delay < (1 / (HZ - 1)) then
delay = 1 / (HZ - 1)
end
-- Create and stuff timer in the correct hash bucket
local now = GetTime()
local timer = timerCache or {} -- Get new timer object (from cache if available)
timerCache = nil
timer.object = self
timer.callback = callback
timer.delay = (repeating and delay)
timer.arg = arg
timer.when = now + delay
local bucket = (floor((now+delay)*HZ) % BUCKETS) + 1
timer.next = hash[bucket]
hash[bucket] = timer
-- Insert timer in our self->handle->timer registry
local handle = tostring(timer)
local selftimers = AceTimer.selfs[self]
if not selftimers then
selftimers = {}
AceTimer.selfs[self] = selftimers
end
selftimers[handle] = timer
selftimers.__ops = (selftimers.__ops or 0) + 1
return handle
end
--- Schedule a new one-shot timer.
-- The timer will fire once in `delay` seconds, unless canceled before.
-- @param callback Callback function for the timer pulse (funcref or method name).
-- @param delay Delay for the timer, in seconds.
-- @param arg An optional argument to be passed to the callback function.
-- @usage
-- MyAddon = LibStub("AceAddon-3.0"):NewAddon("TimerTest", "AceTimer-3.0")
--
-- function MyAddon:OnEnable()
-- self:ScheduleTimer("TimerFeedback", 5)
-- end
--
-- function MyAddon:TimerFeedback()
-- print("5 seconds passed")
-- end
function AceTimer:ScheduleTimer(callback, delay, arg)
return Reg(self, callback, delay, arg)
end
--- Schedule a repeating timer.
-- The timer will fire every `delay` seconds, until canceled.
-- @param callback Callback function for the timer pulse (funcref or method name).
-- @param delay Delay for the timer, in seconds.
-- @param arg An optional argument to be passed to the callback function.
-- @usage
-- MyAddon = LibStub("AceAddon-3.0"):NewAddon("TimerTest", "AceTimer-3.0")
--
-- function MyAddon:OnEnable()
-- self.timerCount = 0
-- self.testTimer = self:ScheduleRepeatingTimer("TimerFeedback", 5)
-- end
--
-- function MyAddon:TimerFeedback()
-- self.timerCount = self.timerCount + 1
-- print(("%d seconds passed"):format(5 * self.timerCount))
-- -- run 30 seconds in total
-- if self.timerCount == 6 then
-- self:CancelTimer(self.testTimer)
-- end
-- end
function AceTimer:ScheduleRepeatingTimer(callback, delay, arg)
return Reg(self, callback, delay, arg, true)
end
--- Cancels a timer with the given handle, registered by the same addon object as used for `:ScheduleTimer`
-- Both one-shot and repeating timers can be canceled with this function, as long as the `handle` is valid
-- and the timer has not fired yet or was canceled before.
-- @param handle The handle of the timer, as returned by `:ScheduleTimer` or `:ScheduleRepeatingTimer`
-- @param silent If true, no error is raised if the timer handle is invalid (expired or already canceled)
-- @return True if the timer was successfully cancelled.
function AceTimer:CancelTimer(handle, silent)
if not handle then return end -- nil handle -> bail out without erroring
if type(handle) ~= "string" then
error(MAJOR..": CancelTimer(handle): 'handle' - expected a string", 2) -- for now, anyway
end
local selftimers = AceTimer.selfs[self]
local timer = selftimers and selftimers[handle]
if silent then
if timer then
timer.callback = nil -- don't run it again
timer.delay = nil -- if this is the currently-executing one: don't even reschedule
-- The timer object is removed in the OnUpdate loop
end
return not not timer -- might return "true" even if we double-cancel. we'll live.
else
if not timer then
geterrorhandler()(MAJOR..": CancelTimer(handle[, silent]): '"..tostring(handle).."' - no such timer registered")
return false
end
if not timer.callback then
geterrorhandler()(MAJOR..": CancelTimer(handle[, silent]): '"..tostring(handle).."' - timer already cancelled or expired")
return false
end
timer.callback = nil -- don't run it again
timer.delay = nil -- if this is the currently-executing one: don't even reschedule
return true
end
end
--- Cancels all timers registered to the current addon object ('self')
function AceTimer:CancelAllTimers()
if not(type(self) == "string" or type(self) == "table") then
error(MAJOR..": CancelAllTimers(): 'self' - must be a string or a table",2)
end
if self == AceTimer then
error(MAJOR..": CancelAllTimers(): supply a meaningful 'self'", 2)
end
local selftimers = AceTimer.selfs[self]
if selftimers then
for handle,v in pairs(selftimers) do
if type(v) == "table" then -- avoid __ops, etc
AceTimer.CancelTimer(self, handle, true)
end
end
end
end
--- Returns the time left for a timer with the given handle, registered by the current addon object ('self').
-- This function will raise a warning when the handle is invalid, but not stop execution.
-- @param handle The handle of the timer, as returned by `:ScheduleTimer` or `:ScheduleRepeatingTimer`
-- @return The time left on the timer, or false if the handle is invalid.
function AceTimer:TimeLeft(handle)
if not handle then return end
if type(handle) ~= "string" then
error(MAJOR..": TimeLeft(handle): 'handle' - expected a string", 2) -- for now, anyway
end
local selftimers = AceTimer.selfs[self]
local timer = selftimers and selftimers[handle]
if not timer then
geterrorhandler()(MAJOR..": TimeLeft(handle): '"..tostring(handle).."' - no such timer registered")
return false
end
return timer.when - GetTime()
end
-- ---------------------------------------------------------------------
-- PLAYER_REGEN_ENABLED: Run through our .selfs[] array step by step
-- and clean it out - otherwise the table indices can grow indefinitely
-- if an addon starts and stops a lot of timers. AceBucket does this!
--
-- See ACE-94 and tests/AceTimer-3.0-ACE-94.lua
local lastCleaned = nil
local function OnEvent(this, event)
if event~="PLAYER_REGEN_ENABLED" then
return
end
-- Get the next 'self' to process
local selfs = AceTimer.selfs
local self = next(selfs, lastCleaned)
if not self then
self = next(selfs)
end
lastCleaned = self
if not self then -- should only happen if .selfs[] is empty
return
end
-- Time to clean it out?
local list = selfs[self]
if (list.__ops or 0) < 250 then -- 250 slosh indices = ~10KB wasted (max!). For one 'self'.
return
end
-- Create a new table and copy all members over
local newlist = {}
local n=0
for k,v in pairs(list) do
newlist[k] = v
n=n+1
end
newlist.__ops = 0 -- Reset operation count
-- And since we now have a count of the number of live timers, check that it's reasonable. Emit a warning if not.
if n>BUCKETS then
DEFAULT_CHAT_FRAME:AddMessage(MAJOR..": Warning: The addon/module '"..tostring(self).."' has "..n.." live timers. Surely that's not intended?")
end
selfs[self] = newlist
end
-- ---------------------------------------------------------------------
-- Embed handling
AceTimer.embeds = AceTimer.embeds or {}
local mixins = {
"ScheduleTimer", "ScheduleRepeatingTimer",
"CancelTimer", "CancelAllTimers",
"TimeLeft"
}
function AceTimer:Embed(target)
AceTimer.embeds[target] = true
for _,v in pairs(mixins) do
target[v] = AceTimer[v]
end
return target
end
-- AceTimer:OnEmbedDisable( target )
-- target (object) - target object that AceTimer is embedded in.
--
-- cancel all timers registered for the object
function AceTimer:OnEmbedDisable( target )
target:CancelAllTimers()
end
for addon in pairs(AceTimer.embeds) do
AceTimer:Embed(addon)
end
-- ---------------------------------------------------------------------
-- Debug tools (expose copies of internals to test suites)
AceTimer.debug = AceTimer.debug or {}
AceTimer.debug.HZ = HZ
AceTimer.debug.BUCKETS = BUCKETS
-- ---------------------------------------------------------------------
-- Finishing touchups
AceTimer.frame:SetScript("OnUpdate", OnUpdate)
AceTimer.frame:SetScript("OnEvent", OnEvent)
AceTimer.frame:RegisterEvent("PLAYER_REGEN_ENABLED")
-- In theory, we should hide&show the frame based on there being timers or not.
-- However, this job is fairly expensive, and the chance that there will
-- actually be zero timers running is diminuitive to say the lest.
@@ -0,0 +1,4 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<Script file="AceTimer-3.0.lua"/>
</Ui>
+3 -1
View File
@@ -19,6 +19,8 @@ local AL = AceLocale:NewLocale("AtlasLoot", "enUS", true);
--Register translations --Register translations
if AL then if AL then
AL["Druid"] = true;
-- Text strings for UI objects -- Text strings for UI objects
AL["AtlasLoot"] = true; AL["AtlasLoot"] = true;
AL["Select Loot Table"] = true; AL["Select Loot Table"] = true;
@@ -96,7 +98,6 @@ if AL then
AL["|cff9d9d9dShow Basic Minimap Button|r"] = true; AL["|cff9d9d9dShow Basic Minimap Button|r"] = true;
AL["Set Minimap Button Position"] = true; AL["Set Minimap Button Position"] = true;
AL["Suppress Item Query Text"] = true; AL["Suppress Item Query Text"] = true;
AL["Auto Query items on page load"] = true;
AL["Notify on LoD Module Load"] = true; AL["Notify on LoD Module Load"] = true;
AL["Load Loot Modules at Startup"] = true; AL["Load Loot Modules at Startup"] = true;
AL["Loot Browser Scale: "] = true; AL["Loot Browser Scale: "] = true;
@@ -1153,6 +1154,7 @@ if AL then
AL["The Defiler's Determination"] = true; AL["The Defiler's Determination"] = true;
AL["The Defiler's Fortitude"] = true; AL["The Defiler's Fortitude"] = true;
AL["The Defiler's Resolution"] = true; AL["The Defiler's Resolution"] = true;
AL["The Defiler's Resolve"] = true;
-- PvP Level 60 Rare Sets - Alliance -- PvP Level 60 Rare Sets - Alliance
AL["Lieutenant Commander's Refuge"] = true; AL["Lieutenant Commander's Refuge"] = true;
+6 -8
View File
@@ -10,10 +10,9 @@ local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
{ "", "EngineeringCLASSIC"}; { "", "EngineeringCLASSIC"};
{ "", "LeatherworkingCLASSIC"}; { "", "LeatherworkingCLASSIC"};
{ "", "TailoringCLASSIC"}; { "", "TailoringCLASSIC"};
{ "", "Inscription"}; { "", "MiningCLASSIC"};
{ "", "Mining"};
{ "", "CookingCLASSIC"}; { "", "CookingCLASSIC"};
{ "", "FirstAid"}; { "", "FirstAidCLASSIC"};
{"High Risk:", "", "Header"}; {"High Risk:", "", "Header"};
{ "", "AlchemyHighRiskCLASSIC"}; { "", "AlchemyHighRiskCLASSIC"};
{ "", "SmithingHighRiskCLASSIC"}; { "", "SmithingHighRiskCLASSIC"};
@@ -33,10 +32,9 @@ local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
{ "", "JewelcraftingTBC"}; { "", "JewelcraftingTBC"};
{ "", "LeatherworkingTBC"}; { "", "LeatherworkingTBC"};
{ "", "TailoringTBC"}; { "", "TailoringTBC"};
{ "", "Inscription"}; { "", "MiningTBC"};
{ "", "Mining"};
{ "", "CookingTBC"}; { "", "CookingTBC"};
{ "", "FirstAid"}; { "", "FirstAidTBC"};
{"High Risk:", "", "Header"}; {"High Risk:", "", "Header"};
{ "", "AlchemyHighRiskTBC"}; { "", "AlchemyHighRiskTBC"};
{ "", "SmithingHighRiskTBC"}; { "", "SmithingHighRiskTBC"};
@@ -58,9 +56,9 @@ local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
{ "", "LeatherworkingWRATH"}; { "", "LeatherworkingWRATH"};
{ "", "TailoringWRATH"}; { "", "TailoringWRATH"};
{ "", "Inscription"}; { "", "Inscription"};
{ "", "Mining"}; { "", "MiningWRATH"};
{ "", "CookingWRATH"}; { "", "CookingWRATH"};
{ "", "FirstAid"}; { "", "FirstAidWRATH"};
{"High Risk:", "", "Header"}; {"High Risk:", "", "Header"};
--[[ { "", "AlchemyHighRiskWRATH"}; --[[ { "", "AlchemyHighRiskWRATH"};
{ "", "SmithingHighRiskWRATH"}; { "", "SmithingHighRiskWRATH"};
-2
View File
@@ -107,12 +107,10 @@ local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0");
AtlasLoot_SubMenus["WorldBossesMenuCLASSIC"] = { AtlasLoot_SubMenus["WorldBossesMenuCLASSIC"] = {
Module = "AtlasLootOriginalWoW"; Module = "AtlasLootOriginalWoW";
AutoLoad = true;
{ "","WorldBossesCLASSIC"}; { "","WorldBossesCLASSIC"};
}; };
AtlasLoot_SubMenus["WorldBossesMenuTBC"] = { AtlasLoot_SubMenus["WorldBossesMenuTBC"] = {
Module = "AtlasLootBurningCrusade"; Module = "AtlasLootBurningCrusade";
AutoLoad = true;
{ "","WorldBossesTBC"}; { "","WorldBossesTBC"};
}; };
+2 -2
View File
@@ -13,7 +13,7 @@ local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
--This is a multi-layer table defining the main loot listing. --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 --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_Modules = { AtlasLoot_Modules = {
{AL["Dungeons and Raids"], "Dungeons and Raids "}; {AL["Dungeons and Raids"], "Dungeons and Raids ", 2};
{AL["Crafting"], "Crafting"}; {AL["Crafting"], "Crafting"};
{AL["Sets/Collections"], "Collections"}; {AL["Sets/Collections"], "Collections"};
{AL["PvP Rewards"], "PVP"}; {AL["PvP Rewards"], "PVP"};
@@ -27,7 +27,7 @@ AtlasLoot_SubMenus = {};
AtlasLoot_ExpansionMenu = { AtlasLoot_ExpansionMenu = {
{ AL["Classic"], "CLASSIC" }; { AL["Classic"], "CLASSIC" };
{ AL["Burning Crusade"], "TBC" }; { AL["Burning Crusade"], "TBC" };
{ AL["Wrath of the Lich King"], "WRATH" }; --{ AL["Wrath of the Lich King"], "WRATH" };
}; };
AtlasLoot_Data["EmptyTable"] = { AtlasLoot_Data["EmptyTable"] = {
+42 -144
View File
@@ -3,150 +3,48 @@ local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0") local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0") local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_Data["PVPMENUCLASSIC"] = { AtlasLoot_SubMenus["PVPCLASSIC"] = {
{ 1, "PvP60Accessories1_A", "inv_jewelry_trinketpvp_01", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 60"]}; Module = "AtlasLootOriginalWoW";
{ 2, "PVPSET", "INV_Axe_02", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 60"]}; { "PVP Factions", "AVMisc", "Header"};
{ 4, "PVPMENU2", "INV_Jewelry_Necklace_21", "=ds="..AL["BG PvP Rewards"], ""}; { "", "AVMisc"};
{ 16, "PVPWeapons_A", "INV_Weapon_Bow_08", "=ds="..AL["PvP Weapons"], "=q5="..AL["Level 60"]}; { "", "AB_A"};
{ 17, "PvP60Ench", "INV_Scroll_06", "=ds="..AL["PvP Enchants"], "=q5="..AL["Level 60"]}; { "", "AB_H"};
Prev = "PVPMENUWRATH"; { "", "WSG_A"};
Next = "PVPMENUTBC"; { "", "WSG_H"};
Back = "PVPMENU"..AtlasLoot_Expac; { "", "PVPWeapons60"};
Submenu = "Expansion"; { "", "PvP60Accessories"};
{ "", "PvP60Ench"};
{ "PVP Sets", "PVPDruid", "Header"};
{ "", "PVPDruid"};
{ "", "PVPHunter"};
{ "", "PVPMage"};
{ "", "PVPPaladin"};
{ "", "PVPPriest"};
{ "", "PVPRogue"};
{ "", "PVPShaman"};
{ "", "PVPWarlock"};
{ "", "PVPWarrior"};
}; };
AtlasLoot_Data["PVPMENUTBC"] = { AtlasLoot_SubMenus["PVPTBC"] = {
{ 1, "PvP70Accessories1_A", "inv_jewelry_ring_60", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 70"]}; Module = "AtlasLootBurningCrusade";
{ 2, "PVP70RepSET", "INV_Axe_02", "=ds="..AL["PvP Reputation Sets"], "=q5="..AL["Level 70"]}; { "PVP Factions", "PVPHellfire", "Header"};
{ 3, "ARENASET", "inv_gauntlets_29", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 70"]}; { "", "PVPHellfire"};
{ 4, "PvP70NonSet1", "inv_belt_13", "=ds="..AL["PvP Non-Set Epics"], "=q5="..AL["Level 70"]}; { "", "PVPHalaa"};
{ 6, "Hellfire", "INV_Misc_Token_HonorHold", "=ds="..BabbleZone["Hellfire Peninsula"], "=q5="..AL["Hellfire Fortifications"]}; { "", "PVPSpiritTowers"};
{ 7, "Zangarmarsh", "Spell_Nature_ElementalPrecision_1", "=ds="..BabbleZone["Zangarmarsh"], "=q5="..AL["Twin Spire Ruins"]}; { "", "PVPTwinSpireRuins"};
{ 8, "Terokkar", "INV_Jewelry_FrostwolfTrinket_04", "=ds="..BabbleZone["Terokkar Forest"], "=q5="..AL["Spirit Towers"]}; { "", "PVP70RepGear"};
{ 9, "Nagrand1", "INV_Misc_Rune_09", "=ds="..BabbleZone["Nagrand"], "=q5="..AL["Halaa"]}; { "", "PvP70Accessories"};
{ 16, "Arena0Weapons1_A", "INV_Weapon_Crossbow_09", "=ds="..AL["Arena Season 0 Weapons"], "=q5="..AL["Level 70"]}; { "", "PvP70NonSet"};
{ 17, "Arena1Weapons1", "INV_Weapon_Crossbow_10", "=ds="..AL["Arena Season 1 Weapons"], "=q5="..AL["Level 70"]}; { "", "WeaponsTBC"};
{ 18, "Arena2Weapons1", "INV_Weapon_Crossbow_11", "=ds="..AL["Arena Season 2 Weapons"], "=q5="..AL["Level 70"]}; { "PVP Sets", "ArenaDruidTBC", "Header"};
{ 19, "Arena3Weapons1", "INV_Weapon_Crossbow_12", "=ds="..AL["Arena Season 3 Weapons"], "=q5="..AL["Level 70"]}; { "", "ArenaDruidTBC"};
{ 20, "Arena4Weapons1", "inv_weapon_crossbow_26", "=ds="..AL["Arena Season 4 Weapons"], "=q5="..AL["Level 70"]}; { "", "ArenaHunterTBC"};
Prev = "PVPMENUCLASSIC"; { "", "ArenaMageTBC"};
Next = "PVPMENUWRATH"; { "", "ArenaPaladinTBC"};
Back = "PVPMENU"..AtlasLoot_Expac; { "", "ArenaPriestTBC"};
Submenu = "Expansion"; { "", "ArenaRogueTBC"};
{ "", "ArenaShamanTBC"};
{ "", "ArenaWarlockTBC"};
{ "", "ArenaWarriorTBC"};
}; };
AtlasLoot_Data["PVPMENUWRATH"] = {
{ 1, "PvP80NonSet1", "INV_Jewelry_Necklace_36", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 80"]};
{ 2, "PvP80Misc", "INV_Scroll_06", "=ds="..AL["PvP Misc"], "=q5="..AL["Level 80"]};
{ 3, "LEVEL80PVPSETS", "INV_Boots_01", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 80"], "" };
{ 4, "WINTERGRASPMENU", "INV_Misc_Platnumdisks", "=ds="..BabbleZone["Wintergrasp"], ""};
{ 6, "VentureBay1", "INV_Misc_Coin_16", "=ds="..BabbleZone["Grizzly Hills"], "=q5="..AL["Venture Bay"]};
{ 16, "PVP80NONSETEPICS", "inv_bracer_51", "=ds="..AL["PvP Non-Set Epics"], "=q5="..AL["Level 80"]};
{ 17, "WrathfulGladiatorWeapons1", "INV_Sword_86", "=ds="..AL["Wrathful Gladiator\'s Weapons"], "=q5="..AL["Level 80"] };
Prev = "PVPMENUTBC";
Next = "PVPMENUCLASSIC";
Back = "PVPMENU"..AtlasLoot_Expac;
Submenu = "Expansion";
};
AtlasLoot_Data["PVPMENU2"] = {
{ 1, "ABMisc_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Misc. Rewards"], "=q5="..BabbleZone["Arathi Basin"]};
{ 2, "ABSets1_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Arathi Basin Sets"], ""};
{ 16, "AB4049_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Level 40-49 Rewards"], "=q5="..BabbleZone["Arathi Basin"]};
{ 17, "AB2039_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Level 20-39 Rewards"], "=q5="..BabbleZone["Arathi Basin"]};
{ 4, "WSGMisc", "INV_Misc_Rune_07", "=ds="..AL["Misc. Rewards"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 5, "WSGAccessories_A", "INV_Misc_Rune_07", "=ds="..AL["Accessories"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 19, "WSGWeapons_A", "INV_Misc_Rune_07", "=ds="..AL["Weapons"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 20, "WSGArmor_A", "INV_Misc_Rune_07", "=ds="..BabbleInventory["Armor"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 7, "AVMisc", "INV_Jewelry_Necklace_21", "=ds="..BabbleZone["Alterac Valley"], ""};
Back = "PVPMENUCLASSIC";
};
AtlasLoot_Data["PVPSET"] = {
{ 3, "PVPDruid", "Spell_Nature_Regeneration", "=ds=".."Druid", ""};
{ 4, "PVPMage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 5, "PVPPriest", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], ""};
{ 6, "PVPShaman", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], ""};
{ 7, "PVPWarrior", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
{ 18, "PVPHunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 19, "PVPPaladin", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], ""};
{ 20, "PVPRogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 21, "PVPWarlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
Back = "PVPMENUCLASSIC";
};
-- PVP arena set BC
AtlasLoot_Data["ARENASET"] = {
{ 3, "ArenaDruidBalance", "Spell_Nature_InsectSwarm", "=ds=".."Druid", "=q5="..AL["Balance"]};
{ 4, "ArenaDruidFeral", "Ability_Druid_Maul", "=ds=".."Druid", "=q5="..AL["Feral"]};
{ 5, "ArenaDruidRestoration", "Spell_Nature_Regeneration", "=ds=".."Druid", "=q5="..AL["Restoration"]};
{ 7, "ArenaHunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 9, "ArenaMage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 11, "ArenaPaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 12, "ArenaPaladinProtection", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Protection"]};
{ 13, "ArenaPaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "ArenaPriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "ArenaPriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "ArenaRogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "ArenaShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "ArenaShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "ArenaShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "ArenaWarlockDemonology", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Demonology"]};
{ 27, "ArenaWarlockDestruction", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Destruction"]};
{ 29, "ArenaWarrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
Back = "PVPMENUTBC";
};
AtlasLoot_Data["PVP70RepSET"] = {
{ 2, "PVP70RepCloth", "INV_Boots_Cloth_12", "=ds="..BabbleInventory["Cloth"], "=q5=".."Reputation"};
{ 3, "PVP70RepMail", "INV_Boots_Plate_06", "=ds="..BabbleInventory["Mail"], "=q5=".."Reputation"};
{ 17, "PVP70RepLeather", "INV_Boots_08", "=ds="..BabbleInventory["Leather"], "=q5=".."Reputation"};
{ 18, "PVP70RepPlate", "INV_Boots_Plate_04", "=ds="..BabbleInventory["Plate"], "=q5=".."Reputation"};
{ 5, "PVP70RareCloth_A", "INV_Boots_Cloth_12", "=ds="..BabbleInventory["Cloth"], "=q5=".."Pre-Arena"};
{ 6, "PVP70RareMail_A", "INV_Boots_Plate_06", "=ds="..BabbleInventory["Mail"], "=q5=".."Pre-Arena"};
{ 20, "PVP70RareLeather_A", "INV_Boots_08", "=ds="..BabbleInventory["Leather"], "=q5=".."Pre-Arena"};
{ 21, "PVP70RarePlate_A", "INV_Boots_Plate_04", "=ds="..BabbleInventory["Plate"], "=q5=".."Pre-Arena"};
Back = "PVPMENUTBC";
};
AtlasLoot_Data["PVP80NONSETEPICS"] = {
{ 2, "PvP80NonSet3", "INV_Boots_Cloth_12", "=ds="..BabbleInventory["Cloth"], ""};
{ 3, "PvP80NonSet5", "INV_Boots_Plate_06", "=ds="..BabbleInventory["Mail"], ""};
{ 4, "PvP80ClassItems1", "Spell_Frost_SummonWaterElemental", "=ds="..BabbleInventory["Relic"], "" };
{ 17, "PvP80NonSet4", "INV_Boots_08", "=ds="..BabbleInventory["Leather"], ""};
{ 18, "PvP80NonSet6", "INV_Boots_Plate_04", "=ds="..BabbleInventory["Plate"], ""};
Back = "PVPMENUWRATH";
};
AtlasLoot_Data["LEVEL80PVPSETS"] = {
{ 2, "PvP80DeathKnight", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], ""};
{ 4, "PvP80DruidBalance", "Spell_Nature_InsectSwarm", "=ds=".."Druid", "=q5="..AL["Balance"]};
{ 5, "PvP80DruidFeral", "Ability_Druid_Maul", "=ds=".."Druid", "=q5="..AL["Feral"]};
{ 6, "PvP80DruidRestoration", "Spell_Nature_Regeneration", "=ds=".."Druid", "=q5="..AL["Restoration"]};
{ 8, "PvP80Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 10, "PvP80Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 12, "PvP80PaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 13, "PvP80PaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "PvP80PriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "PvP80PriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "PvP80Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "PvP80ShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "PvP80ShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "PvP80ShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "PvP80Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
{ 28, "PvP80Warrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
Back = "PVPMENUWRATH";
};
AtlasLoot_Data["WINTERGRASPMENU"] = {
{ 2, "LakeWintergrasp2", "inv_helmet_136", "=ds="..BabbleInventory["Cloth"], ""};
{ 3, "LakeWintergrasp3", "INV_Helmet_141", "=ds="..BabbleInventory["Leather"], ""};
{ 4, "LakeWintergrasp4", "INV_Helmet_138", "=ds="..BabbleInventory["Mail"], ""};
{ 5, "LakeWintergrasp5", "inv_helmet_134", "=ds="..BabbleInventory["Plate"], ""};
{ 17, "LakeWintergrasp1", "inv_misc_rune_11", "=ds="..AL["Accessories"], ""};
{ 18, "LakeWintergrasp7", "inv_sword_19", "=ds="..AL["Heirloom"], ""};
{ 19, "LakeWintergrasp6", "inv_jewelcrafting_icediamond_02", "=ds="..AL["PVP Gems/Enchants/Jewelcrafting Designs"], ""};
Back = "PVPMENU2";
};
+21 -20
View File
@@ -21,26 +21,27 @@ local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_SubMenus["ReputationsTBC"] = { AtlasLoot_SubMenus["ReputationsTBC"] = {
Module = "AtlasLootBurningCrusade"; Module = "AtlasLootBurningCrusade";
{ "", "Aldor1", "INV_Jewelry_Talisman_08", "=ds="..BabbleFaction["The Aldor"], ""}; { "", "ShattrathFlasks"};
{ "", "CExpedition1", "INV_Misc_Ammo_Arrow_02", "=ds="..BabbleFaction["Cenarion Expedition"], "=q5="..BabbleZone["Zangarmarsh"]}; { "", "Aldor"};
{ "", "HonorHold1", "INV_BannerPVP_02", "=ds="..BabbleFaction["Honor Hold"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Hellfire Peninsula"]}; { "", "Scryer"};
{ "", "Kurenai1", "INV_Misc_Foot_Centaur", "=ds="..BabbleFaction["Kurenai"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Nagrand"]}; { "", "Shatar"};
{ "", "Maghar1", "INV_Misc_Foot_Centaur", "=ds="..BabbleFaction["The Mag'har"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Nagrand"]}; { "", "LowerCity"};
{ "", "Ogrila1", "inv_misc_apexis_crystal", "=ds="..BabbleFaction["Ogri'la"], "=q5="..BabbleZone["Blade's Edge Mountains"]}; { "", "CExpedition"};
{ "", "Scryer1", "INV_Misc_Foot_Centaur", "=ds="..BabbleFaction["The Scryers"], ""}; { "", "HonorHold"};
{ "", "Skyguard1", "INV_Misc_Ribbon_01", "=ds="..BabbleFaction["Sha'tari Skyguard"], "=q5="..BabbleZone["Terokkar Forest"].." / "..BabbleZone["Blade's Edge Mountains"]}; { "", "Thrallmar"};
{ "", "Sporeggar1", "inv_mushroom_11", "=ds="..BabbleFaction["Sporeggar"], "=q5="..BabbleZone["Zangarmarsh"]}; { "", "Kurenai"};
{ "", "Tranquillien1", "INV_Misc_Bandana_03", "=ds="..BabbleFaction["Tranquillien"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Ghostlands"]}; { "", "Maghar"};
{ "", "Ashtongue1", "achievement_reputation_ashtonguedeathsworn", "=ds="..BabbleFaction["Ashtongue Deathsworn"], "=q5="..BabbleZone["Shadowmoon Valley"].." / "..BabbleZone["Black Temple"]}; { "", "Ogrila"};
{ "", "Consortium1", "INV_Weapon_Shortblade_31", "=ds="..BabbleFaction["The Consortium"], ""}; { "", "Skyguard"};
{ "", "KeepersofTime1", "Ability_Warrior_VictoryRush", "=ds="..BabbleFaction["Keepers of Time"], "=q5="..BabbleZone["Caverns of Time"]}; { "", "Sporeggar"};
{ "", "LowerCity1", "Spell_Holy_ChampionsBond", "=ds="..BabbleFaction["Lower City"], ""}; { "", "Tranquillien"};
{ "", "Netherwing1", "Ability_Mount_Netherdrakepurple", "=ds="..BabbleFaction["Netherwing"], "=q5="..BabbleZone["Shadowmoon Valley"]}; { "", "Ashtongue"};
{ "", "ScaleSands1", "INV_Misc_MonsterScales_13", "=ds="..BabbleFaction["The Scale of the Sands"], "=q5="..BabbleZone["Hyjal Summit"]}; { "", "Consortium"};
{ "", "Shatar1", "Ability_Warrior_ShieldMastery", "=ds="..BabbleFaction["The Sha'tar"], ""}; { "", "KeepersofTime"};
{ "", "SunOffensive1", "inv_shield_48", "=ds="..BabbleFaction["Shattered Sun Offensive"], "=q5="..BabbleZone["Isle of Quel'Danas"]}; { "", "Netherwing"};
{ "", "Thrallmar1", "INV_BannerPVP_01", "=ds="..BabbleFaction["Thrallmar"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Hellfire Peninsula"]}; { "", "ScaleSands"};
{ "", "VioletEye1", "spell_holy_mindsooth", "=ds="..BabbleFaction["The Violet Eye"], "=q5="..BabbleZone["Karazhan"]}; { "", "SunOffensive"};
{ "", "VioletEye"};
}; };
AtlasLoot_SubMenus["ReputationsWRATH"] = { AtlasLoot_SubMenus["ReputationsWRATH"] = {
+25 -33
View File
@@ -9,40 +9,32 @@ local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
-- { #, "CardGame1", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Upper Deck Card Game Items"], ""}; -- { #, "CardGame1", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Upper Deck Card Game Items"], ""};
-- { #, "PVPMENU", "INV_Axe_02", "=ds="..AL["PvP Rewards"], ""}; -- { #, "PVPMENU", "INV_Axe_02", "=ds="..AL["PvP Rewards"], ""};
AtlasLoot_Data["SETMENUCLASSIC"] = { AtlasLoot_SubMenus["CollectionsCLASSIC"] = {
{ 1, "SETSCLASSIC", "INV_Sword_43", "=ds="..AL["Classic Sets"], ""}; Module = "AtlasLootOriginalWoW";
{ 3, 0, "INV_Box_01", "=q6="..AL["BoE World Epics"], ""}; { "", "ClassicSets"};
{ 4, "WorldEpics1", "INV_Jewelry_Ring_15", "=ds="..AL["Level 30-39"], ""}; { "", "WorldEpicsCLASSIC"};
{ 5, "WorldEpics2", "INV_Staff_29", "=ds="..AL["Level 40-49"], ""}; { "", "ZGSets"};
{ 6, "WorldEpics3", "INV_Jewelry_Amulet_01", "=ds="..AL["Level 50-60"], ""}; { "", "AQ20Sets"};
{ 8, "Heirloom", "INV_Sword_43", "=ds="..AL["Heirloom"], ""}; { "", "T0"};
{ 9, "Legendaries", "INV_Staff_Medivh", "=ds="..AL["Legendary Items"], ""}; { "", "T1"};
{ 16, "T0SET", "INV_Chest_Chain_03", "=ds="..AL["Dungeon 1/2 Sets"], ""}; { "", "T2"};
{ 17, "ZGSets1", "INV_Misc_MonsterClaw_04", "=ds="..AL["Zul'Gurub Sets"], ""}; { "", "T2.5"};
{ 18, "AQ20Sets1", "INV_Jewelry_Ring_AhnQiraj_03", "=ds="..AL["Ruins of Ahn'Qiraj Sets"], ""}; { "", "T3"};
{ 19, "AQ40Sets1", "INV_Sword_59", "=ds="..AL["Temple of Ahn'Qiraj Sets"], ""}; };
{ 21, "T1SET", "INV_Pants_Mail_03", "=ds="..AL["Tier 1 Sets"], ""};
{ 22, "T2SET", "INV_Pants_Mail_26", "=ds="..AL["Tier 2 Sets"], ""};
{ 23, "T3SET", "INV_Pants_Mail_38v3", "=ds="..AL["Tier 3 Sets"], ""};
Prev = "SETMENUWRATH";
Next = "SETMENUTBC";
Submenu = "Expansion";
};
AtlasLoot_Data["SETMENUTBC"] = { AtlasLoot_SubMenus["CollectionsTBC"] = {
{ 1, "70TOKENMENU", "Spell_Holy_ChampionsBond", "=ds="..AL["Badge of Justice Rewards"], "=q5="..AL["Burning Crusade"]}; Module = "AtlasLootBurningCrusade";
{ 3, "Heirloom", "INV_Sword_43", "=ds="..AL["Heirloom"], ""}; { "", "DS3"};
{ 4, "WorldEpics4", "INV_Sword_76", "=ds=".."World Epics", ""}; { "", "WorldEpicsTBC"};
{ 5, "TBCSets", "INV_Weapon_Glave_01", "=ds="..AL["Burning Crusade Misc Sets"], ""}; { "", "TBCSets"};
{ 6, "Legendaries", "INV_Staff_Medivh", "=ds="..AL["Legendary Items"], ""}; { AL["Badge of Justice Rewards"], "BadgeShatt", "Header"};
{ 16, "DS3SET", "INV_Helmet_15", "=ds="..AL["Dungeon 3 Sets"], ""}; { "", "BadgeShatt"};
{ 18, "T4SET", "inv_helmet_58", "=ds="..AL["Tier 4 Sets"], ""}; { "", "BadgeSunwell"};
{ 19, "T5SET", "inv_helmet_92", "=ds="..AL["Tier 5 Sets"], ""}; { "Teir Sets", "T4", "Header"};
{ 20, "T6SET", "inv_helmet_98", "=ds="..AL["Tier 6 Sets"], ""}; { "", "T4"};
Prev = "SETMENUCLASSIC"; { "", "T5"};
Next = "SETMENUWRATH"; { "", "T6"};
Submenu = "Expansion"; };
};
AtlasLoot_Data["SETMENUWRATH"] = { AtlasLoot_Data["SETMENUWRATH"] = {
{ 1, "EMBLEMOFFROSTMENU", "inv_misc_frostemblem_01", "=ds="..AL["Emblem of Frost Rewards"], "=q5="..AL["Wrath of the Lich King"]}; { 1, "EMBLEMOFFROSTMENU", "inv_misc_frostemblem_01", "=ds="..AL["Emblem of Frost Rewards"], "=q5="..AL["Wrath of the Lich King"]};
+66 -68
View File
@@ -3,75 +3,73 @@ local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0") local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0") local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_SubMenus["WorldEventsCLASSIC"] = {
Module = "AtlasLootWorldEvents";
{ "Seasonal", "BrewfestCLASSIC", "Header"};
{ "", "BrewfestCLASSIC"};
{ "", "DayoftheDead"};
{ "", "HalloweenCLASSIC"};
{ "", "Valentineday"};
{ "", "MidsummerFestivalCLASSIC"};
{ "", "PilgrimsBounty"};
{ "", "ChildrensWeek"};
{ "", "Winterviel"};
{ "", "HarvestFestival"};
{ "", "LunarFestival"};
{ "", "Noblegarden"};
{ "Other", "Darkmoon", "Header"};
{ "", "Darkmoon"};
{ "", "GurubashiArena"};
{ "", "AbyssalCouncil"};
{ "", "ElementalInvasion"};
{ "", "ScourgeInvasionEvent"};
{ "", "FishingExtravaganza"};
};
AtlasLoot_Data["WORLDEVENTMENU"] = { AtlasLoot_SubMenus["WorldEventsTBC"] = {
{ 1, "ARGENTMENU", "Ability_Paladin_ArtofWar", "=ds="..AL["Argent Tournament"], "=q5="..BabbleZone["Icecrown"]}; Module = "AtlasLootWorldEvents";
{ 3, "Brewfest1", "INV_Cask_04", "=ds="..AL["Brewfest"], "=q5="..AL["Various Locations"]}; { "Seasonal", "BrewfestTBC", "Header"};
{ 4, "DayoftheDead", "INV_Misc_Bone_HumanSkull_02", "=ds="..AL["Day of the Dead"], "=q5="..AL["Various Locations"]}; { "", "BrewfestTBC"};
{ 5, "Halloween1", "INV_Misc_Bag_28_Halloween", "=ds="..AL["Hallow's End"], "=q5="..AL["Various Locations"]}; { "", "DayoftheDead"};
{ 6, "Valentineday", "INV_ValentinesBoxOfChocolates02", "=ds="..AL["Love is in the Air"], "=q5="..AL["Various Locations"]}; { "", "HalloweenTBC"};
{ 7, "MidsummerFestival", "INV_SummerFest_FireFlower", "=ds="..AL["Midsummer Fire Festival"], "=q5="..AL["Various Locations"]}; { "", "Valentineday"};
{ 8, "PilgrimsBounty_H", "inv_helmet_65", "=ds="..AL["Pilgrim's Bounty"], "=q5="..AL["Various Locations"]}; { "", "MidsummerFestivalTBC"};
{ 10, "BashirLanding", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Skyguard Raid"], "=q5="..BabbleZone["Blade's Edge Mountains"]}; { "", "PilgrimsBounty"};
{ 11, "GurubashiArena", "INV_Box_02", "=ds="..AL["Gurubashi Arena Booty Run"], "=q5="..BabbleZone["Stranglethorn Vale"]}; { "", "ChildrensWeek"};
{ 12, "Shartuul", "INV_Misc_Rune_04", "=ds="..AL["Shartuul"], "=q5="..BabbleZone["Blade's Edge Mountains"]}; { "", "Winterviel"};
{ 14, "ABYSSALMENU", "INV_Staff_13", "=ds="..AL["Abyssal Council"], "=q5="..BabbleZone["Silithus"]}; { "", "HarvestFestival"};
{ 15, "SKETTISMENU", "Spell_Nature_NaturesWrath", "=ds="..AL["Skettis"], "=q5="..BabbleZone["Terokkar Forest"]}; { "", "LunarFestival"};
{ 16, "DARKMOONMENU", "INV_Misc_Ticket_Tarot_Madness", "=ds="..BabbleFaction["Darkmoon Faire"], "=q5="..AL["Various Locations"]}; { "", "Noblegarden"};
{ 18, "ChildrensWeek", "Ability_Hunter_BeastCall", "=ds="..AL["Children's Week"], "=q5="..AL["Various Locations"]}; { "Other", "BashirLanding", "Header"};
{ 19, "Winterviel1", "INV_Holiday_Christmas_Present_01", "=ds="..AL["Feast of Winter Veil"], "=q5="..AL["Various Locations"]}; { "", "BashirLanding"};
{ 20, "HarvestFestival", "INV_Misc_Food_33", "=ds="..AL["Harvest Festival"], "=q5="..AL["Various Locations"]}; { "", "GurubashiArena"};
{ 21, "LunarFestival1", "INV_Misc_ElvenCoins", "=ds="..AL["Lunar Festival"], "=q5="..AL["Various Locations"]}; { "", "Shartuul"};
{ 22, "Noblegarden", "INV_Egg_03", "=ds="..AL["Noblegarden"], "=q5="..AL["Various Locations"]}; { "", "AbyssalCouncil"};
{ 25, "ElementalInvasion", "INV_DataCrystal03", "=ds="..AL["Elemental Invasion"], "=q5="..AL["Various Locations"]}; { "", "Skettis"};
{ 26, "ScourgeInvasionEvent1", "INV_Jewelry_Talisman_13", "=ds="..AL["Scourge Invasion"], "=q5="..AL["Various Locations"]}; { "", "Darkmoon"};
{ 27, "FishingExtravaganza", "INV_Fishingpole_02", "=ds="..AL["Stranglethorn Fishing Extravaganza"], "=q5="..BabbleZone["Stranglethorn Vale"]}; { "", "FishingExtravaganza"};
{ 29, "ETHEREUMMENU", "INV_Misc_PunchCards_Prismatic", "=ds="..AL["Ethereum Prison"], ""}; { "", "EthereumPrison"};
}; };
AtlasLoot_Data["ARGENTMENU"] = { AtlasLoot_SubMenus["WorldEventsWRATH"] = {
{ 2, "ArgentTournament1", "inv_scroll_11", "=ds="..BabbleInventory["Miscellaneous"], ""}; Module = "AtlasLootWorldEvents";
{ 3, "ArgentTournament3", "inv_boots_plate_09", "=ds="..BabbleInventory["Armor"], ""}; { "Seasonal", "BrewfestWRATH", "Header"};
{ 4, "ArgentTournament5", "achievement_reputation_argentchampion", "=ds="..AL["Vanity Pets"], ""}; { "", "BrewfestWRATH"};
{ 5, "ArgentTournament8", "inv_jewelry_talisman_01", "=ds="..AL["Heirloom"], ""}; { "", "DayoftheDead"};
{ 17, "ArgentTournament2", "inv_misc_tournaments_tabard_human", "=ds="..AL["Tabards"].." / "..AL["Banner"], ""}; { "", "HalloweenWRATH"};
{ 18, "ArgentTournament4", "inv_mace_29", "=ds="..AL["Weapons"], ""}; { "", "Valentineday"};
{ 19, "ArgentTournament6", "ability_mount_charger", "=ds="..AL["Mounts"], ""}; { "", "MidsummerFestivalWRATH"};
Back = "WORLDEVENTMENU"; { "", "PilgrimsBounty"};
{ "", "ChildrensWeek"};
{ "", "Winterviel"};
{ "", "HarvestFestival"};
{ "", "LunarFestival"};
{ "", "Noblegarden"};
{ "Other", "ArgentTournament", "Header"};
{ "", "ArgentTournament"};
{ "", "GurubashiArena"};
{ "", "Shartuul"};
{ "", "Skettis"};
{ "", "Darkmoon"};
{ "", "FishingExtravaganza"};
}; };
AtlasLoot_Data["DARKMOONMENU"] = {
{ 2, "Darkmoon1", "INV_Misc_Ticket_Darkmoon_01", "=ds="..AL["Darkmoon Faire Rewards"], ""};
{ 3, "Darkmoon3", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Original and BC Trinkets"], ""};
{ 17, "Darkmoon2", "INV_Misc_Ticket_Tarot_Furies", "=ds="..AL["Low Level Decks"], ""};
{ 18, "Darkmoon4", "INV_Inscription_TarotGreatness", "=ds="..AL["WotLK Trinkets"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["ABYSSALMENU"] = {
{ 2, "Templars", "INV_Jewelry_Talisman_05", "=ds="..AL["Abyssal Council"].." - "..AL["Templars"], ""};
{ 3, "HighCouncil", "INV_Staff_13", "=ds="..AL["Abyssal Council"].." - "..AL["High Council"], ""};
{ 17, "Dukes", "INV_Jewelry_Ring_36", "=ds="..AL["Abyssal Council"].." - "..AL["Dukes"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["ETHEREUMMENU"] = {
{ 2, "ArmbreakerHuffaz", "INV_Jewelry_Ring_59", "=ds="..AL["Armbreaker Huffaz"], ""};
{ 3, "Forgosh", "INV_Boots_05", "=ds="..AL["Forgosh"], ""};
{ 4, "MalevustheMad", "INV_Boots_Chain_04", "=ds="..AL["Malevus the Mad"], ""};
{ 5, "WrathbringerLaztarash", "INV_Misc_Orb_01", "=ds="..AL["Wrathbringer Laz-tarash"], ""};
{ 17, "FelTinkererZortan", "INV_Boots_Chain_08", "=ds="..AL["Fel Tinkerer Zortan"], ""};
{ 18, "Gulbor", "INV_Jewelry_Necklace_29Naxxramas", "=ds="..AL["Gul'bor"], ""};
{ 19, "PorfustheGemGorger", "INV_Boots_Cloth_01", "=ds="..AL["Porfus the Gem Gorger"], ""};
{ 20, "BashirStasisChambers", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Stasis Chambers"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["SKETTISMENU"] = {
{ 2, "DarkscreecherAkkarai", "INV_Misc_Rune_07", "=ds="..AL["Darkscreecher Akkarai"], ""};
{ 3, "GezzaraktheHuntress", "INV_Misc_Rune_07", "=ds="..AL["Gezzarak the Huntress"], ""};
{ 4, "Terokk", "INV_Misc_Rune_07", "=ds="..AL["Terokk"], ""};
{ 17, "Karrog", "INV_Misc_Rune_07", "=ds="..AL["Karrog"], ""};
{ 18, "VakkiztheWindrager", "INV_Misc_Rune_07", "=ds="..AL["Vakkiz the Windrager"], ""};
Back = "WORLDEVENTMENU";
};
+34 -34
View File
@@ -1129,41 +1129,41 @@ end
AtlasLoot_TableNames["T3Warrior"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "AtlasLootOriginalWoW" }; AtlasLoot_TableNames["T3Warrior"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "AtlasLootOriginalWoW" };
AtlasLoot_TableNames["T3DPSWarrior"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "AtlasLootOriginalWoW" }; AtlasLoot_TableNames["T3DPSWarrior"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "AtlasLootOriginalWoW" };
-- T4 Sets -- T4 Sets
AtlasLoot_TableNames["T4DruidBalance"] = { "Druid".." - T4 "..AL["Balance"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4DruidBalance"] = { "Druid".." - "..AL["Balance"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4DruidFeral"] = { "Druid".." - T4 "..AL["Feral"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4DruidFeral"] = { "Druid".." - "..AL["Feral"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4DruidRestoration"] = { "Druid".." - T4 "..AL["Restoration"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4DruidRestoration"] = { "Druid".." - "..AL["Restoration"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4Hunter"] = { LOCALIZED_CLASS_NAMES_MALE["HUNTER"].." - T4 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4Hunter"] = { LOCALIZED_CLASS_NAMES_MALE["HUNTER"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4Mage"] = { LOCALIZED_CLASS_NAMES_MALE["MAGE"].." - T4 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4Mage"] = { LOCALIZED_CLASS_NAMES_MALE["MAGE"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4PaladinHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - T4 "..AL["Holy"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4PaladinHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - "..AL["Holy"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4PaladinProtection"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - T4 "..AL["Protection"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4PaladinProtection"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"]..AL["Protection"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4PaladinRetribution"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - T4 "..AL["Retribution"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4PaladinRetribution"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - "..AL["Retribution"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4PriestHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - T4 "..AL["Holy"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4PriestHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - "..AL["Holy"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4PriestShadow"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - T4 "..AL["Shadow"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4PriestShadow"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - "..AL["Shadow"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4Rogue"] = { LOCALIZED_CLASS_NAMES_MALE["ROGUE"].." - T4 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4Rogue"] = { LOCALIZED_CLASS_NAMES_MALE["ROGUE"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4ShamanElemental"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - T4 "..AL["Elemental"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4ShamanElemental"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - "..AL["Elemental"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4ShamanEnhancement"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - T4 "..AL["Enhancement"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4ShamanEnhancement"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - "..AL["Enhancement"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4ShamanRestoration"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - T4 "..AL["Restoration"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4ShamanRestoration"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - "..AL["Restoration"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4Warlock"] = { LOCALIZED_CLASS_NAMES_MALE["WARLOCK"].." - T4 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4Warlock"] = { LOCALIZED_CLASS_NAMES_MALE["WARLOCK"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4WarriorFury"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - T4 "..AL["Fury"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4WarriorFury"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - "..AL["Fury"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T4WarriorProtection"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - T4 "..AL["Protection"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T4WarriorProtection"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - "..AL["Protection"], "AtlasLootBurningCrusade" };
-- T5 Sets -- T5 Sets
AtlasLoot_TableNames["T5DruidBalance"] = { "Druid".." - T5 "..AL["Balance"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5DruidBalance"] = { "Druid".." - "..AL["Balance"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5DruidFeral"] = { "Druid".." - T5 "..AL["Feral"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5DruidFeral"] = { "Druid".." - "..AL["Feral"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5DruidRestoration"] = { "Druid".." - T5 "..AL["Restoration"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5DruidRestoration"] = { "Druid".." - "..AL["Restoration"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5Hunter"] = { LOCALIZED_CLASS_NAMES_MALE["HUNTER"].." - T5 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5Hunter"] = { LOCALIZED_CLASS_NAMES_MALE["HUNTER"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5Mage"] = { LOCALIZED_CLASS_NAMES_MALE["MAGE"].." - T5 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5Mage"] = { LOCALIZED_CLASS_NAMES_MALE["MAGE"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5PaladinHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - T5 "..AL["Holy"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5PaladinHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - "..AL["Holy"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5PaladinProtection"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - T5 "..AL["Protection"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5PaladinProtection"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - "..AL["Protection"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5PaladinRetribution"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - T5 "..AL["Retribution"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5PaladinRetribution"] = { LOCALIZED_CLASS_NAMES_MALE["PALADIN"].." - "..AL["Retribution"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5PriestHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - T5 "..AL["Holy"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5PriestHoly"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - "..AL["Holy"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5PriestShadow"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - T5 "..AL["Shadow"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5PriestShadow"] = { LOCALIZED_CLASS_NAMES_MALE["PRIEST"].." - "..AL["Shadow"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5Rogue"] = { LOCALIZED_CLASS_NAMES_MALE["ROGUE"].." - T5 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5Rogue"] = { LOCALIZED_CLASS_NAMES_MALE["ROGUE"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5ShamanElemental"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - T5 "..AL["Elemental"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5ShamanElemental"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - "..AL["Elemental"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5ShamanEnhancement"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - T5 "..AL["Enhancement"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5ShamanEnhancement"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - "..AL["Enhancement"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5ShamanRestoration"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - T5 "..AL["Restoration"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5ShamanRestoration"] = { LOCALIZED_CLASS_NAMES_MALE["SHAMAN"].." - "..AL["Restoration"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5Warlock"] = { LOCALIZED_CLASS_NAMES_MALE["WARLOCK"].." - T5 ", "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5Warlock"] = { LOCALIZED_CLASS_NAMES_MALE["WARLOCK"].." - ", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5WarriorFury"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - T5 "..AL["Fury"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5WarriorFury"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - "..AL["Fury"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T5WarriorProtection"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - T5 "..AL["Protection"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T5WarriorProtection"] = { LOCALIZED_CLASS_NAMES_MALE["WARRIOR"].." - "..AL["Protection"], "AtlasLootBurningCrusade" };
-- T6 Sets -- T6 Sets
AtlasLoot_TableNames["T6DruidBalance"] = { "Druid".." - T6 "..AL["Balance"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T6DruidBalance"] = { "Druid".." - T6 "..AL["Balance"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["T6DruidFeral"] = { "Druid".." - T6 "..AL["Feral"], "AtlasLootBurningCrusade" }; AtlasLoot_TableNames["T6DruidFeral"] = { "Druid".." - T6 "..AL["Feral"], "AtlasLootBurningCrusade" };
+1
View File
@@ -17,6 +17,7 @@
<Include file="Libs\AceLocale-3.0\AceLocale-3.0.xml"/> <Include file="Libs\AceLocale-3.0\AceLocale-3.0.xml"/>
<Include file="Libs\AceSerializer-3.0\AceSerializer-3.0.xml"/> <Include file="Libs\AceSerializer-3.0\AceSerializer-3.0.xml"/>
<Include file="Libs\AceComm-3.0\AceComm-3.0.xml"/> <Include file="Libs\AceComm-3.0\AceComm-3.0.xml"/>
<Include file="Libs\AceTimer-3.0\AceTimer-3.0.xml"/>
<Include file="Libs\DewdropLib\embeds.xml"/> <Include file="Libs\DewdropLib\embeds.xml"/>
<Script file="Libs\DewdropLib\Dewdrop-2.0\Dewdrop-2.0.lua"/> <Script file="Libs\DewdropLib\Dewdrop-2.0\Dewdrop-2.0.lua"/>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+19
View File
@@ -2232,6 +2232,25 @@ local MASTER = select(2, GetSpellInfo(28596));
Type = "Crafting"; Type = "Crafting";
}; };
AtlasLoot_Data["MiningWRATH"] = {
Name = MINING;
{
Name = MINING;
{ 1, "s55208", "37663", "=q2=Smelt Titansteel", "=ds=#sr# 450"};
{ 2, "s55211", "41163", "=q2=Smelt Titanium", "=ds=#sr# 450"};
{ 3, "s49258", "36913", "=q1=Smelt Saronite", "=ds=#sr# 400"};
{ 4, "s49252", "36916", "=q1=Smelt Cobalt", "=ds=#sr# 350"};
};
};
AtlasLoot_Data["FirstAidWRATH"] = {
Name = FIRSTAID;
{
Name = FIRSTAID;
{ 1, "s45546", "34722", "=q1=Heavy Frostweave Bandage", "=ds=#sr# 400"};
{ 2, "s45545", "34721", "=q1=Frostweave Bandage", "=ds=#sr# 375"};
};
};
----------------- -----------------
--- Tailoring --- --- Tailoring ---
----------------- -----------------
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff