7.3
This commit is contained in:
@@ -31,10 +31,9 @@
|
||||
embeds.xml
|
||||
|
||||
Locales\Locales.xml
|
||||
|
||||
Databases\Databases.xml
|
||||
Core\AtlasLoot.xml
|
||||
Menus\Menus.xml
|
||||
|
||||
DefaultFrame\Frames.xml
|
||||
|
||||
modules.xml
|
||||
|
||||
@@ -1,21 +1,8 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
|
||||
AtlasLoot_Difficulty = {
|
||||
-- table of difficulties and there itemID references
|
||||
|
||||
["Default"] = {};
|
||||
AtlasLoot.Difficultys["Default"] = {};
|
||||
|
||||
["ClassicDungeon"] = {
|
||||
{"Normal", 2,},
|
||||
{"Bloodforged", 1,},
|
||||
};
|
||||
|
||||
["PVP"] = {
|
||||
{"Normal", 2},
|
||||
{"Bloodforged", 1},
|
||||
};
|
||||
|
||||
["ClassicDungeonExt"] = {
|
||||
AtlasLoot.Difficultys["ClassicDungeon"] = {
|
||||
{"Bloodforged", 1},
|
||||
{"Normal", 2},
|
||||
{"Heroic", 3},
|
||||
@@ -30,7 +17,27 @@ AtlasLoot_Difficulty = {
|
||||
{"Mythic 36", 40 }, {"Mythic 37", 41 }, {"Mythic 38", 42 }, {"Mythic 39", 43 }, {"Mythic 40", 44 },
|
||||
};
|
||||
|
||||
["ClassicRaid"] = {
|
||||
AtlasLoot.Difficultys["PVP"] = {
|
||||
{"Normal", 2},
|
||||
{"Bloodforged", 1},
|
||||
};
|
||||
|
||||
AtlasLoot.Difficultys["ClassicDungeonExt"] = {
|
||||
{"Bloodforged", 1},
|
||||
{"Normal", 2},
|
||||
{"Heroic", 3},
|
||||
{"Mythic", 4},
|
||||
{"Mythic 1", 5 }, {"Mythic 2", 6 }, {"Mythic 3", 7 }, {"Mythic 4", 8 }, {"Mythic 5", 9 },
|
||||
{"Mythic 6", 10 }, {"Mythic 7", 11 }, {"Mythic 8", 12 }, {"Mythic 9", 13 }, {"Mythic 10", 14 },
|
||||
{"Mythic 11", 15 }, {"Mythic 12", 16 }, {"Mythic 13", 17 }, {"Mythic 14", 18 }, {"Mythic 15", 19 },
|
||||
{"Mythic 16", 20 }, {"Mythic 17", 21 }, {"Mythic 18", 22 }, {"Mythic 19", 23 }, {"Mythic 20", 24 },
|
||||
{"Mythic 21", 25 }, {"Mythic 22", 26 }, {"Mythic 23", 27 }, {"Mythic 24", 28 }, {"Mythic 25", 29 },
|
||||
{"Mythic 26", 30 }, {"Mythic 27", 31 }, {"Mythic 28", 32 }, {"Mythic 29", 33 }, {"Mythic 30", 34 },
|
||||
{"Mythic 31", 35 }, {"Mythic 32", 36 }, {"Mythic 33", 37 }, {"Mythic 34", 38 }, {"Mythic 35", 39 },
|
||||
{"Mythic 36", 40 }, {"Mythic 37", 41 }, {"Mythic 38", 42 }, {"Mythic 39", 43 }, {"Mythic 40", 44 },
|
||||
};
|
||||
|
||||
AtlasLoot.Difficultys["ClassicRaid"] = {
|
||||
{"Normal", 2},
|
||||
{"Heroic", 3},
|
||||
{"Mythic", 5},
|
||||
@@ -38,7 +45,7 @@ AtlasLoot_Difficulty = {
|
||||
{"Bloodforged", 1},
|
||||
};
|
||||
|
||||
["BCDungeon"] = {
|
||||
AtlasLoot.Difficultys["BCDungeon"] = {
|
||||
{"Bloodforged", 1},
|
||||
{"Normal/Heroic", 2},
|
||||
{"Mythic", 4},
|
||||
@@ -52,7 +59,7 @@ AtlasLoot_Difficulty = {
|
||||
{"Mythic 36", 40 }, {"Mythic 37", 41 }, {"Mythic 38", 42 }, {"Mythic 39", 43 }, {"Mythic 40", 44 },
|
||||
};
|
||||
|
||||
["BCRaid"] = {
|
||||
AtlasLoot.Difficultys["BCRaid"] = {
|
||||
{"Normal", 2},
|
||||
{"Heroic", 3},
|
||||
{"Mythic", 5},
|
||||
@@ -60,7 +67,7 @@ AtlasLoot_Difficulty = {
|
||||
{"Bloodforged", 1},
|
||||
};
|
||||
|
||||
["WrathDungeon"] = {
|
||||
AtlasLoot.Difficultys["WrathDungeon"] = {
|
||||
{"Normal/Heroic", 2},
|
||||
{"Mythic", 4},
|
||||
{"Bloodforged", 1},
|
||||
@@ -70,7 +77,7 @@ AtlasLoot_Difficulty = {
|
||||
{"Mythic 16", 20 }, {"Mythic 17", 21 }, {"Mythic 18", 22 }, {"Mythic 19", 23 }, {"Mythic 20", 24 },
|
||||
};
|
||||
|
||||
["WrathRaid"] = {
|
||||
AtlasLoot.Difficultys["WrathRaid"] = {
|
||||
{"Normal", 2},
|
||||
{"Heroic", 3},
|
||||
{"Mythic", 4},
|
||||
@@ -78,22 +85,16 @@ AtlasLoot_Difficulty = {
|
||||
{"Bloodforged", 1},
|
||||
};
|
||||
|
||||
["Crafting"] = {
|
||||
{"Crafting Patterns", "Pattern" },
|
||||
{"Item Normal", 2 },
|
||||
{"Bloodforged", 1 },
|
||||
};
|
||||
["CraftingNoBF"] = {
|
||||
{"Crafting Patterns", "Pattern" },
|
||||
{"Item Normal", 2 },
|
||||
AtlasLoot.Difficultys["Crafting"] = {
|
||||
{"Normal", 2 },
|
||||
};
|
||||
|
||||
["Search"] = {
|
||||
AtlasLoot.Difficultys["Search"] = {
|
||||
{"Bloodforged", 1},
|
||||
{"Normal", 2},
|
||||
{"Heroic", 3},
|
||||
{"Mythic/Ascended", 4},
|
||||
{"Mythic 1", 5 }, {"Mythic 2", 6 }, {"Mythic 3", 7 }, {"Mythic 4", 8 }, {"Mythic 5", 9 },
|
||||
{"Mythic", 4},
|
||||
{"Mythic 1/Ascended", 5 }, {"Mythic 2", 6 }, {"Mythic 3", 7 }, {"Mythic 4", 8 }, {"Mythic 5", 9 },
|
||||
{"Mythic 6", 10 }, {"Mythic 7", 11 }, {"Mythic 8", 12 }, {"Mythic 9", 13 }, {"Mythic 10", 14 },
|
||||
{"Mythic 11", 15 }, {"Mythic 12", 16 }, {"Mythic 13", 17 }, {"Mythic 14", 18 }, {"Mythic 15", 19 },
|
||||
{"Mythic 16", 20 }, {"Mythic 17", 21 }, {"Mythic 18", 22 }, {"Mythic 19", 23 }, {"Mythic 20", 24 },
|
||||
@@ -104,33 +105,20 @@ AtlasLoot_Difficulty = {
|
||||
};
|
||||
|
||||
--Enums for comparisons in code
|
||||
Bloodforged = 1;
|
||||
Normal = 2;
|
||||
Heroic = 3;
|
||||
Mythic = 4;
|
||||
Ascended = 4;
|
||||
AtlasLoot.Difficultys.Bloodforged = 1;
|
||||
AtlasLoot.Difficultys.Normal = 2;
|
||||
AtlasLoot.Difficultys.Heroic = 3;
|
||||
AtlasLoot.Difficultys.Mythic = 4;
|
||||
AtlasLoot.Difficultys.Ascended = 4;
|
||||
|
||||
MythicPlus = {
|
||||
AtlasLoot.Difficultys.MythicPlus = {
|
||||
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
||||
35, 36, 37, 38, 39, 40, 41, 42, 43, 44
|
||||
}; --Usage AtlasLoot_Difficulty.MythicPlus[1-40];
|
||||
|
||||
DIF_SEARCH = 16;
|
||||
DUPLICATE = 17;
|
||||
MIN_DIF = 18;
|
||||
MAX_DIF = 19;
|
||||
}
|
||||
|
||||
function AtlasLoot_Difficulty:getMaxDifficulty(difficultyKey)
|
||||
if(difficultyKey == "ClassicDungeon" or difficultyKey == "PVP") then
|
||||
return 2;
|
||||
elseif (difficultyKey == "ClassicDungeonExt" or difficultyKey == "BCDungeon" or difficultyKey == "WrathDungeon") then
|
||||
return 44;
|
||||
elseif (difficultyKey == "ClassicRaid" or difficultyKey == "BCRaid" or difficultyKey == "WrathRaid") then
|
||||
return 5;
|
||||
else
|
||||
return 0;
|
||||
end
|
||||
end
|
||||
AtlasLoot.Difficultys.DIF_SEARCH = 16;
|
||||
AtlasLoot.Difficultys.DUPLICATE = 17;
|
||||
AtlasLoot.Difficultys.MIN_DIF = 18;
|
||||
AtlasLoot.Difficultys.MAX_DIF = 19;
|
||||
+966
-876
File diff suppressed because it is too large
Load Diff
@@ -1,22 +1,16 @@
|
||||
<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/">
|
||||
|
||||
<!--Ascension Files-->
|
||||
<Script file="AtlasDifficulty.lua"/>
|
||||
<!-- <Script file="ItemIDsDatabase.lua"/>
|
||||
<Script file="ItemIDsDatabase2.lua"/>
|
||||
<Script file="ItemIDsDatabase3.lua"/> -->
|
||||
|
||||
|
||||
<!--Default Files-->
|
||||
<Script file="AtlasLoot.lua"/>
|
||||
<Script file="ItemIDsDatabaseFixes.lua"/>
|
||||
<Script file="AtlasDifficulty.lua"/>
|
||||
<Script file="Utils.lua"/>
|
||||
<Script file="Filter.lua"/>
|
||||
<Script file="ExtraText.lua"/>
|
||||
<Script file="TextParsing.lua"/>
|
||||
<Script file="Options.lua"/>
|
||||
<Script file="LootButtons.lua"/>
|
||||
<Script file="Atlasloot_Maps.lua"/>
|
||||
<Script file="Launchers.lua"/>
|
||||
<Script file="MapData.lua"/>
|
||||
<Script file="Maps.lua"/>
|
||||
<Script file="Launchers.lua"/>
|
||||
<Script file="WishList.lua"/>
|
||||
<Script file="SearchAdvanced.lua"/>
|
||||
<Script file="Search.lua"/>
|
||||
|
||||
+205
-337
@@ -1,62 +1,13 @@
|
||||
--[[
|
||||
Atlasloot Enhanced
|
||||
Author Daviesh
|
||||
Loot browser associating loot with instance bosses
|
||||
Can be integrated with Atlas (http://www.atlasmod.com)
|
||||
|
||||
Functions:
|
||||
AtlasLoot:HideFilteredItems()
|
||||
AtlasLoot_FilterEnableButton()
|
||||
<local> CreateCheckButton(parrent, text, num)
|
||||
AtlasLoote_CreateFilterOptions()
|
||||
AtlasLoot:FilterEnableButton()
|
||||
|
||||
|
||||
]]
|
||||
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
|
||||
AtlasLoot_FilterMenu = AceLibrary("Dewdrop-2.0");
|
||||
AtlasLoot_SetFiltersMenu = AceLibrary("Dewdrop-2.0");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
local FilterTable = {
|
||||
{
|
||||
Name = AL["Armor Type"],
|
||||
Type = "ArmorType",
|
||||
{"Cloth", "Cloth"},
|
||||
{"Leather", "Leather"},
|
||||
{"Mail", "Mail"},
|
||||
{"Plate", "Plate"},
|
||||
},
|
||||
{
|
||||
Name = AL["Weapons"],
|
||||
Type = "InvType",
|
||||
{"One-Hand", "INVTYPE_WEAPON"},
|
||||
{"Two-Hand", "INVTYPE_2HWEAPON"},
|
||||
{"Main Hand", "INVTYPE_WEAPONMAINHAND"},
|
||||
{"Off Hand", "INVTYPE_WEAPONOFFHAND"},
|
||||
{"Caster Off Hand", "INVTYPE_HOLDABLE"},
|
||||
{"Ranged", "INVTYPE_RANGED"},
|
||||
{"Thrown", "INVTYPE_THROWN"},
|
||||
{"Relic", "INVTYPE_RELIC"},
|
||||
{"Shield", "INVTYPE_SHIELD"}
|
||||
},
|
||||
{
|
||||
Name = AL["Accessories"],
|
||||
Type = "InvType",
|
||||
{"Necklace", "INVTYPE_NECK"},
|
||||
{"Back", "INVTYPE_CLOAK"},
|
||||
{"Ring", "INVTYPE_FINGER"},
|
||||
{"Trinket", "INVTYPE_TRINKET"}
|
||||
},
|
||||
{
|
||||
Name = AL["Secondary Stats"],
|
||||
Type = "Stat",
|
||||
{"Crit", "ITEM_MOD_CRIT_RATING_SHORT"},
|
||||
{"Hit", "ITEM_MOD_HIT_RATING_SHORT"},
|
||||
{"Haste", "ITEM_MOD_HASTE_RATING_SHORT"},
|
||||
{"Expertise", "ITEM_MOD_EXPERTISE_RATING_SHORT"},
|
||||
{"Armor Pen", "ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT"},
|
||||
{"Spell Pen", "ITEM_MOD_SPELL_PENETRATION_SHORT"}
|
||||
},
|
||||
{
|
||||
Name = AL["Primary Stats"],
|
||||
Type = "PrimaryStat",
|
||||
@@ -67,6 +18,15 @@ local FilterTable = {
|
||||
{"Attack Power", "ITEM_MOD_ATTACK_POWER_SHORT"},
|
||||
{"Spell Power", "ITEM_MOD_SPELL_POWER_SHORT"}
|
||||
},
|
||||
{
|
||||
Name = AL["Secondary Stats"],
|
||||
Type = "Stat",
|
||||
{"Crit", "ITEM_MOD_CRIT_RATING_SHORT"},
|
||||
{"Hit", "ITEM_MOD_HIT_RATING_SHORT"},
|
||||
{"Haste", "ITEM_MOD_HASTE_RATING_SHORT"},
|
||||
{"Armor Pen", "ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT"},
|
||||
{"Spell Pen", "ITEM_MOD_SPELL_PENETRATION_SHORT"}
|
||||
},
|
||||
{
|
||||
Name = AL["Defensive Stats"],
|
||||
Type = "Stat",
|
||||
@@ -79,337 +39,245 @@ local FilterTable = {
|
||||
},
|
||||
}
|
||||
|
||||
local VanityFilterTable = {
|
||||
{"Owned", "Owned"},
|
||||
{"OwnedUnknown", "Owned Unknown"},
|
||||
{"OwnedExcludeKnown", "Owned Exclude Known"}
|
||||
}
|
||||
|
||||
local CraftingFilterTable = {
|
||||
{"Known", "Known"},
|
||||
{"Unknown", "Unknown"},
|
||||
}
|
||||
|
||||
-- **********************************************************************
|
||||
-- ItemFilter:
|
||||
-- AtlasLoot:HideFilteredItems()
|
||||
-- AtlasLoot_FilterEnableButton()
|
||||
-- AtlasLoot:FilterEnableButton()
|
||||
-- **********************************************************************
|
||||
AtlasLootFilter = {};
|
||||
AtlasLootFilter["FilterList"] = {};
|
||||
AtlasLootFilter = { FilterList = {} }
|
||||
|
||||
function AtlasLoot:HideFilteredItems()
|
||||
local dataID, dataSource, tablenum = AtlasLootItemsFrame.refreshFilter[1], _G[AtlasLootItemsFrame.refreshFilter[2]], AtlasLootItemsFrame.refreshFilter[3];
|
||||
local dataID, dataSource, tablenum = AtlasLootItemsFrame.refreshFilter[1], _G[AtlasLootItemsFrame.refreshFilter[2]], AtlasLootItemsFrame.refreshFilter[3]
|
||||
local tablebase = dataSource[dataID][tablenum]
|
||||
if not tablebase or dataID == "WishList" or dataID == "SearchResult" or AtlasLootCharDB.SelectedFilter == nil then return end
|
||||
AtlasLootFilter["FilterList"] = {};
|
||||
AtlasLootFilter["FilterList"].Type = dataSource[dataID].Type;
|
||||
AtlasLootFilter["FilterList"].Name = dataSource[dataID].Name;
|
||||
AtlasLootFilter["FilterList"].Back = dataSource[dataID].Back;
|
||||
AtlasLootFilter["FilterList"].Map = dataSource[dataID].Map;
|
||||
AtlasLootFilter["FilterList"][1] = {Name = dataSource[dataID][tablenum].Name};
|
||||
if not tablebase or dataID == "WishList" or dataID == "SearchResult" then return end
|
||||
local source = dataSource[dataID]
|
||||
AtlasLootFilter["FilterList"] = {
|
||||
Type = source.Type,
|
||||
Name = source.Name,
|
||||
Back = source.Back,
|
||||
Map = source.Map,
|
||||
vanity = source.vanity,
|
||||
[1] = {Name = source[tablenum].Name}
|
||||
}
|
||||
|
||||
local function getStats(itemID,sType)
|
||||
for i,v in pairs(AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter]) do
|
||||
if type(v) == "table" then
|
||||
if v[1] and v[3] == sType then
|
||||
local ItemStats = {};
|
||||
GetItemStats(select(2,GetItemInfo(itemID)), ItemStats);
|
||||
if ItemStats[v[2]] then
|
||||
return true;
|
||||
end
|
||||
-- returns true if item has the desired stats
|
||||
local function checkStats(itemStats, sCheck)
|
||||
for pStat, sStat in pairs(AtlasLootFilterDB) do
|
||||
if sStat[1] and sStat[2] == sCheck and itemStats[pStat] then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- checks filters for the right conditions
|
||||
local function checkfilters(itemStats, sCheck)
|
||||
if checkStats(itemStats, sCheck) then return true end
|
||||
for _, fTable in ipairs(FilterTable) do
|
||||
for _, stat in ipairs(fTable) do
|
||||
if fTable.Type == sCheck and AtlasLootFilterDB[stat[2]][1] then
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local function checkNofilter(itemID, filter)
|
||||
if getStats(itemID,filter) then return true end;
|
||||
for i,v in pairs(AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter]) do
|
||||
for n,t in ipairs(FilterTable) do
|
||||
if t.Type == filter and v[1] then
|
||||
return true;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local count = 0
|
||||
-- checks filters and whether the id is armor or a weapon
|
||||
local function getFilterType(itemID)
|
||||
local filterSelect3, filterSelect2,_ , filterSelect1 = select(6,GetItemInfo(itemID));
|
||||
local filter1 = AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter][filterSelect1];
|
||||
local filter2 = AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter][filterSelect2];
|
||||
if not itemID then return end
|
||||
local itemLink, _, _, _, armorCheck = select(2,GetItemInfo(itemID))
|
||||
local itemStats = GetItemStats(itemLink)
|
||||
|
||||
if (filter1 and filter1[1] and filter1[3] == "InvType" and getStats(itemID,"PrimaryStat") and checkNofilter(itemID, "Stat")) or
|
||||
(filter2 and filter2[1] and filter2[3] == "ArmorType" and getStats(itemID,"PrimaryStat") and checkNofilter(itemID, "Stat"))
|
||||
then
|
||||
return true;
|
||||
else
|
||||
for _,v in pairs(FilterTable) do
|
||||
for _,t in ipairs(v) do
|
||||
if t[2] == filterSelect1 or t[2] == filterSelect2 or t[2] == filterSelect3 then
|
||||
return false;
|
||||
if (armorCheck == "Armor" or armorCheck == "Weapon") and checkfilters(itemStats, "PrimaryStat") and checkfilters(itemStats, "Stat") then
|
||||
return true
|
||||
elseif armorCheck ~= "Armor" and armorCheck ~= "Weapon" then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
local function getVanityFilters(itemID, learnedSpellID)
|
||||
local db = AtlasLootFilterDB.VanityFilters
|
||||
local learnedSpellID
|
||||
if VANITY_ITEMS[itemID] and VANITY_ITEMS[itemID].learnedSpell and VANITY_ITEMS[itemID].learnedSpell ~= 0 then
|
||||
learnedSpellID = VANITY_ITEMS[itemID].learnedSpell
|
||||
end
|
||||
|
||||
if C_VanityCollection.IsCollectionItemOwned(itemID) then
|
||||
if learnedSpellID and not CA_IsSpellKnown(learnedSpellID) and db["OwnedUnknown"] then
|
||||
return true
|
||||
elseif not learnedSpellID and db["OwnedExcludeKnown"] then
|
||||
return true
|
||||
elseif db["Owned"] then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function getCraftingFilters(spellID)
|
||||
local db = AtlasLootFilterDB.CraftingFilters
|
||||
if not db["Unknown"] and not db["Known"] then return true end
|
||||
if (not CA_IsSpellKnown(spellID) and db["Unknown"]) or (CA_IsSpellKnown(spellID) and db["Known"]) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
-- build filtered list removing any blank spaces that are not meant to be there
|
||||
local count = 0
|
||||
for i = 1, 30 do
|
||||
if tablebase[i] then
|
||||
if source.vanity then
|
||||
if getVanityFilters(tablebase[i].itemID, tablebase[i].learnedSpellID) then
|
||||
if i == 16 then
|
||||
count = 0
|
||||
end
|
||||
AtlasLootFilter.FilterList[1][i-count] = tablebase[i]
|
||||
elseif i == 16 then
|
||||
count = 1
|
||||
else
|
||||
count = count + 1
|
||||
end
|
||||
elseif source.Type == "Crafting" then
|
||||
if getCraftingFilters(tablebase[i].spellID) then
|
||||
if i == 16 then
|
||||
count = 0
|
||||
end
|
||||
AtlasLootFilter.FilterList[1][i-count] = tablebase[i]
|
||||
elseif i == 16 then
|
||||
count = 1
|
||||
else
|
||||
count = count + 1
|
||||
end
|
||||
else
|
||||
if getFilterType(tablebase[i].itemID) or tablebase[i].icon then
|
||||
if i == 16 then
|
||||
count = 0
|
||||
end
|
||||
AtlasLootFilter.FilterList[1][i-count] = tablebase[i]
|
||||
elseif i == 16 then
|
||||
count = 1
|
||||
else
|
||||
count = count + 1
|
||||
end
|
||||
end
|
||||
return true;
|
||||
end
|
||||
end
|
||||
for i,v in ipairs(tablebase) do
|
||||
if getFilterType(v[2]) or v[2] == 0 then
|
||||
if v[1] == 16 then
|
||||
count = 0;
|
||||
end
|
||||
table.insert(AtlasLootFilter["FilterList"][1],{v[1] - count,v[2],v[3],v[4],v[5],v[6],v[7],v[8]});
|
||||
elseif v[1] == 16 then
|
||||
count = 1
|
||||
else
|
||||
count = count + 1;
|
||||
end
|
||||
end
|
||||
|
||||
AtlasLoot:ShowItemsFrame("FilterList", "AtlasLootFilter", 1)
|
||||
-- show filtered table
|
||||
self:ShowItemsFrame("FilterList", "AtlasLootFilter", 1)
|
||||
end
|
||||
|
||||
function AtlasLoot_FilterEnableButton(self, btnclick)
|
||||
function AtlasLoot:FilterEnableButton(frame, btnclick)
|
||||
if btnclick == "RightButton" then
|
||||
if AtlasLoot_FilterMenu:IsOpen() then
|
||||
AtlasLoot_FilterMenu:Close();
|
||||
if self.Dewdrop:IsOpen() then
|
||||
self.Dewdrop:Close()
|
||||
else
|
||||
AtlasLoot_FilterMenu:Unregister(AtlasLootFilterCheck);
|
||||
AtlasLoot:FilterMenuRegister();
|
||||
AtlasLoot_FilterMenu:Open(self);
|
||||
self.Dewdrop:Unregister(AtlasLootFilterCheck)
|
||||
self:FilterMenuRegister()
|
||||
self.Dewdrop:Open(frame)
|
||||
end
|
||||
if AtlasLootFilterCheck:GetChecked() then
|
||||
AtlasLootFilterCheck:SetChecked(false);
|
||||
AtlasLootFilterCheck:SetChecked(false)
|
||||
else
|
||||
AtlasLootFilterCheck:SetChecked(true);
|
||||
AtlasLootFilterCheck:SetChecked(true)
|
||||
end
|
||||
else
|
||||
if ATLASLOOT_FILTER_ENABLE then
|
||||
ATLASLOOT_FILTER_ENABLE = false;
|
||||
AtlasLoot:ShowItemsFrame(AtlasLootItemsFrame.refreshFilter[1], AtlasLootItemsFrame.refreshFilter[2], AtlasLootItemsFrame.refreshFilter[3]);
|
||||
if self.filterEnable then
|
||||
self.filterEnable = false
|
||||
self:ShowItemsFrame(AtlasLootItemsFrame.refreshFilter[1], AtlasLootItemsFrame.refreshFilter[2], AtlasLootItemsFrame.refreshFilter[3])
|
||||
else
|
||||
ATLASLOOT_FILTER_ENABLE = true
|
||||
AtlasLoot:HideFilteredItems();
|
||||
self.filterEnable = true
|
||||
self:HideFilteredItems()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function disableFilters(current)
|
||||
local db = AtlasLootFilterDB.VanityFilters
|
||||
for filter, stat in pairs(db) do
|
||||
if stat and current ~= filter then
|
||||
db[filter] = false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:FilterMenuRegister:
|
||||
Constructs the Filter menu.
|
||||
]]
|
||||
function AtlasLoot:FilterMenuRegister()
|
||||
AtlasLoot_FilterMenu:Register(AtlasLootFilterCheck,
|
||||
|
||||
local db = AtlasLootFilterDB
|
||||
self.Dewdrop:Register(AtlasLootFilterCheck,
|
||||
'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
return "TOPLEFT", "BOTTOM"
|
||||
end,
|
||||
'children', function(level, value)
|
||||
for i,v in ipairs(AtlasLootFilterDB["FilterLists"]) do
|
||||
local setFilter = false;
|
||||
if AtlasLootCharDB.SelectedFilter == i then setFilter = true end
|
||||
AtlasLoot_FilterMenu:AddLine(
|
||||
"text", v.Name,
|
||||
if _G[AtlasLootItemsFrame.refreshFilter[2]][AtlasLootItemsFrame.refreshFilter[1]].vanity then
|
||||
for _, filter in ipairs(VanityFilterTable) do
|
||||
local fDB = db.VanityFilters
|
||||
if not fDB[filter[1]] then fDB[filter[1]] = false end
|
||||
self.Dewdrop:AddLine(
|
||||
"text", filter[2],
|
||||
"func", function()
|
||||
AtlasLootCharDB.SelectedFilter = i;
|
||||
AtlasLoot_FilterMenu:Close();
|
||||
fDB[filter[1]] = not fDB[filter[1]]
|
||||
disableFilters(filter[1])
|
||||
if self.filterEnable then
|
||||
self:HideFilteredItems()
|
||||
end
|
||||
end,
|
||||
"checked", setFilter
|
||||
);
|
||||
"checked", fDB[filter[1]],
|
||||
"closeWhenClicked", true
|
||||
)
|
||||
end
|
||||
AtlasLoot_FilterMenu:AddLine(
|
||||
"text", AL["Add Filter Set"],
|
||||
"func", function() AtlasLoot:OpenFilterCreate() end,
|
||||
"notCheckable", true
|
||||
);
|
||||
elseif _G[AtlasLootItemsFrame.refreshFilter[2]][AtlasLootItemsFrame.refreshFilter[1]].Type == "Crafting" then
|
||||
for _, filter in ipairs(CraftingFilterTable) do
|
||||
local fDB = db.CraftingFilters
|
||||
if not fDB[filter[1]] then fDB[filter[1]] = false end
|
||||
self.Dewdrop:AddLine(
|
||||
"text", filter[2],
|
||||
"func", function()
|
||||
fDB[filter[1]] = not fDB[filter[1]]
|
||||
disableFilters(filter[1])
|
||||
if self.filterEnable then
|
||||
self:HideFilteredItems()
|
||||
end
|
||||
end,
|
||||
"checked", fDB[filter[1]],
|
||||
"closeWhenClicked", true
|
||||
)
|
||||
end
|
||||
else
|
||||
for _, group in ipairs(FilterTable) do
|
||||
self.Dewdrop:AddLine('text' , group.Name, 'textHeight', 12, 'textWidth', 12, 'isTitle', true, "notCheckable", true)
|
||||
for _, filters in ipairs(group) do
|
||||
if not db[filters[2]] then db[filters[2]] = {false, group.Type} end
|
||||
self.Dewdrop:AddLine(
|
||||
"text", filters[1],
|
||||
"func", function()
|
||||
db[filters[2]][1] = not db[filters[2]][1]
|
||||
if self.filterEnable then
|
||||
self:HideFilteredItems()
|
||||
end
|
||||
end,
|
||||
"checked", db[filters[2]][1]
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
--Close button
|
||||
AtlasLoot_FilterMenu:AddLine(
|
||||
'text', AL["Close Menu"],
|
||||
'textR', 0,
|
||||
'textG', 1,
|
||||
'textB', 1,
|
||||
'func', function() AtlasLoot_FilterMenu:Close() end,
|
||||
'notCheckable', true
|
||||
);
|
||||
self.Dewdrop:AddLine('text', AL["Close Menu"], 'textR', 0, 'textG', 1, 'textB', 1, "closeWhenClicked", true, 'notCheckable', true)
|
||||
end,
|
||||
'dontHook', true
|
||||
)
|
||||
end
|
||||
|
||||
--Sets all the filter check boxs for current filter
|
||||
local function setFilterChecks()
|
||||
local filterList = AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter];
|
||||
local count = 1;
|
||||
for i,v in ipairs(FilterTable) do
|
||||
count = count + 1;
|
||||
for n,t in ipairs(v) do
|
||||
if filterList[t[2]] and filterList[t[2]][1] then
|
||||
_G["AtlasLootFilterButton_"..count]:SetChecked(true);
|
||||
else
|
||||
_G["AtlasLootFilterButton_"..count]:SetChecked(false);
|
||||
end
|
||||
count = count + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function setFilter(arg1,type)
|
||||
if AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter][arg1] and AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter][arg1][1] then
|
||||
AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter][arg1] = {false,arg1,type};
|
||||
else
|
||||
AtlasLootFilterDB["FilterLists"][AtlasLootCharDB.SelectedFilter][arg1] = {true,arg1,type};
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot:HideFilterCreateButtons()
|
||||
if not ATLASLOOT_BUILD_FILTER_LIST then return end
|
||||
for i=1, 41 do
|
||||
_G["AtlasLootFilterButton_"..i]:Hide();
|
||||
end
|
||||
AtlasLootFilterSelect:Hide();
|
||||
AtlasLootFilterCreate:Hide();
|
||||
AtlasLootFilterDelete:Hide();
|
||||
end
|
||||
|
||||
-- **********************************************************************
|
||||
-- Options:
|
||||
-- AtlasLoot:HideFilteredItems()
|
||||
-- **********************************************************************
|
||||
ATLASLOOT_BUILD_FILTER_LIST = false;
|
||||
-- Place to add new or edit existing filter lists
|
||||
function AtlasLoot:OpenFilterCreate()
|
||||
if not ATLASLOOT_BUILD_FILTER_LIST then
|
||||
ATLASLOOT_BUILD_FILTER_LIST = true;
|
||||
local count = 1;
|
||||
for i,v in ipairs(FilterTable) do
|
||||
local filterCatLable = AtlasLootItemsFrame:CreateFontString("AtlasLootFilterButton_"..count,"OVERLAY","GameFontNormal");
|
||||
filterCatLable:SetText(v.Name);
|
||||
filterCatLable:Show();
|
||||
if count == 1 then
|
||||
filterCatLable:SetPoint("TOP", "AtlasLootItemsFrame", "TOP",-150,-90);
|
||||
elseif count == 16 then
|
||||
filterCatLable:SetPoint("TOP", "AtlasLootItemsFrame", "TOP",0,-90);
|
||||
elseif count == 28 then
|
||||
filterCatLable:SetPoint("TOP", "AtlasLootItemsFrame", "TOP",150,-90);
|
||||
else
|
||||
filterCatLable:SetPoint("LEFT", "AtlasLootFilterButton_"..(count - 1), "LEFT",0,-25);
|
||||
end
|
||||
count = count + 1;
|
||||
for n,t in ipairs(v) do
|
||||
local button = CreateFrame("CheckButton", "AtlasLootFilterButton_"..count, AtlasLootItemsFrame, "OptionsCheckButtonTemplate");
|
||||
_G["AtlasLootFilterButton_"..count.."Text"]:SetText(t[1]);
|
||||
button:SetScript("OnClick", function() setFilter(t[2],v.Type) end)
|
||||
if n == 1 then
|
||||
button:SetPoint("LEFT", "AtlasLootFilterButton_"..(count - 1), "LEFT",0,-25);
|
||||
else
|
||||
button:SetPoint("LEFT", "AtlasLootFilterButton_"..(count - 1), "LEFT",0,-20);
|
||||
end
|
||||
count = count + 1;
|
||||
end
|
||||
end
|
||||
|
||||
local filterSelectButton = CreateFrame("Button", "AtlasLootFilterSelect", AtlasLootItemsFrame, "UIDropDownMenuTemplate");
|
||||
filterSelectButton:SetSize(190,24);
|
||||
filterSelectButton:SetPoint("Top", "AtlasLootItemsFrame", "TOP",-110,-35);
|
||||
|
||||
local createFilterButton = CreateFrame("Button", "AtlasLootFilterCreate", AtlasLootItemsFrame, "OptionsButtonTemplate");
|
||||
createFilterButton:SetSize(130,20);
|
||||
createFilterButton:SetPoint("LEFT", "AtlasLootItemsFrame_BACK", "LEFT",-150,0);
|
||||
createFilterButton:SetText(AL["Add/Edit Filter"]);
|
||||
createFilterButton:SetScript("OnClick", function(self) StaticPopup_Show("ATLASLOOT_ADD_FILTER_LIST") end);
|
||||
|
||||
local deleteFilterButton = CreateFrame("Button", "AtlasLootFilterDelete", AtlasLootItemsFrame, "OptionsButtonTemplate");
|
||||
deleteFilterButton:SetSize(130,20);
|
||||
deleteFilterButton:SetPoint("RIGHT", "AtlasLootItemsFrame_BACK", "RIGHT",150,0);
|
||||
deleteFilterButton:SetText(AL["Delete Filter"]);
|
||||
deleteFilterButton:SetScript("OnClick", function(self) StaticPopup_Show("ATLASLOOT_DELETE_FILTERLIST") end);
|
||||
end
|
||||
UIDropDownMenu_Initialize(AtlasLootFilterSelect, AtlasLoot.FilterSelectorMenuInitialize);
|
||||
UIDropDownMenu_SetSelectedID(AtlasLootFilterSelect, AtlasLootCharDB.SelectedFilter);
|
||||
|
||||
setFilterChecks();
|
||||
|
||||
for i=1,41 do
|
||||
_G["AtlasLootFilterButton_"..i]:Show();
|
||||
end
|
||||
AtlasLootFilterSelect:Show();
|
||||
AtlasLootFilterCreate:Show();
|
||||
AtlasLootFilterDelete:Show();
|
||||
|
||||
--Ditch the Quicklook selector
|
||||
AtlasLootQuickLooksButton:Hide();
|
||||
-- Hide the Filter Check-Box
|
||||
AtlasLootFilterCheck:Hide();
|
||||
--Hide navigation buttons by default, only show what we need
|
||||
_G["AtlasLootItemsFrame_BACK"]:Show();
|
||||
_G["AtlasLootItemsFrame_NEXT"]:Hide();
|
||||
_G["AtlasLootItemsFrame_PREV"]:Hide();
|
||||
--Hide UI objects so that only needed ones are shown
|
||||
for i = 1, 30, 1 do
|
||||
_G["AtlasLootItem_"..i.."_Unsafe"]:Hide();
|
||||
_G["AtlasLootItem_"..i]:Hide();
|
||||
_G["AtlasLootItem_"..i].itemID = 0;
|
||||
_G["AtlasLootItem_"..i].spellitemID = 0;
|
||||
end
|
||||
--Set Page Title
|
||||
AtlasLoot_BossName:SetText("Create Filter Set");
|
||||
AtlasLoot_FilterMenu:Close();
|
||||
end
|
||||
|
||||
local function FilterSelectOnClick()
|
||||
AtlasLootCharDB.SelectedFilter = this:GetID();
|
||||
UIDropDownMenu_SetSelectedID(AtlasLootFilterSelect, AtlasLootCharDB.SelectedFilter);
|
||||
setFilterChecks();
|
||||
end
|
||||
|
||||
function AtlasLoot:FilterSelectorMenuInitialize()
|
||||
for i,v in ipairs(AtlasLootFilterDB["FilterLists"]) do
|
||||
local info = {
|
||||
text = v.Name;
|
||||
func = FilterSelectOnClick;
|
||||
};
|
||||
UIDropDownMenu_AddButton(info);
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
StaticPopupDialogs["ATLASLOOT_ADD_FILTER_LIST"]
|
||||
This is shown, if you want too add a add/edit a filter list
|
||||
]]
|
||||
StaticPopupDialogs["ATLASLOOT_ADD_FILTER_LIST"] = {
|
||||
text = "Filter Name",
|
||||
button1 = "Add Filter",
|
||||
button3 = "Edit Filter",
|
||||
button2 = AL["Cancel"],
|
||||
OnShow = function(self)
|
||||
self.editBox:SetText(UIDropDownMenu_GetText(AtlasLootFilterSelect))
|
||||
self:SetFrameStrata("TOOLTIP");
|
||||
end,
|
||||
OnAccept = function(self)
|
||||
local text = self.editBox:GetText();
|
||||
table.insert(AtlasLootFilterDB["FilterLists"],AtlasLoot:CloneTable(AtlasLootFilterDB["FilterLists"][UIDropDownMenu_GetSelectedID(AtlasLootFilterSelect)]));
|
||||
AtlasLootFilterDB["FilterLists"][#AtlasLootFilterDB["FilterLists"]].Name = text;
|
||||
UIDropDownMenu_SetSelectedID(AtlasLootFilterSelect,#AtlasLootFilterDB["FilterLists"]);
|
||||
UIDropDownMenu_SetText(AtlasLootFilterSelect,text);
|
||||
end,
|
||||
OnButton3 = function(self)
|
||||
local text = self.editBox:GetText();
|
||||
AtlasLootFilterDB["FilterLists"][UIDropDownMenu_GetSelectedID(AtlasLootFilterSelect)].Name = self.editBox:GetText();
|
||||
UIDropDownMenu_SetText(AtlasLootFilterSelect,text);
|
||||
end,
|
||||
hasEditBox = 1,
|
||||
timeout = 0,
|
||||
whileDead = 1,
|
||||
hideOnEscape = 1
|
||||
};
|
||||
|
||||
--[[
|
||||
StaticPopupDialogs["ATLASLOOT_DELETE_FILTERLIST"]
|
||||
This is shown, if you want too delete a filter list
|
||||
]]
|
||||
StaticPopupDialogs["ATLASLOOT_DELETE_FILTERLIST"] = {
|
||||
text = AL["Delete Filter"],
|
||||
button1 = AL["Delete"],
|
||||
button2 = AL["Cancel"],
|
||||
OnShow = function()
|
||||
this:SetFrameStrata("TOOLTIP");
|
||||
end,
|
||||
OnAccept = function()
|
||||
table.remove(AtlasLootFilterDB["FilterLists"],UIDropDownMenu_GetSelectedID(AtlasLootFilterSelect));
|
||||
UIDropDownMenu_SetSelectedID(AtlasLootFilterSelect,1);
|
||||
UIDropDownMenu_SetText(AtlasLootFilterSelect,UIDropDownMenu_GetText(AtlasLootFilterSelect));
|
||||
end,
|
||||
timeout = 0,
|
||||
whileDead = 1,
|
||||
hideOnEscape = 1
|
||||
};
|
||||
end
|
||||
+42
-124
@@ -1,34 +1,15 @@
|
||||
--[[
|
||||
Name : AtlasLootFu
|
||||
Version : 2.0
|
||||
Author : Daviesh (oma_daviesh@hotmail.com)
|
||||
Website : https://discord.gg/uYCE2X2FgA
|
||||
Description : Adds AtlasLoot to FuBar.
|
||||
]]
|
||||
|
||||
--Invoke libraries
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
|
||||
--Make an LDB object
|
||||
LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject("AtlasLoot", {
|
||||
type = "launcher",
|
||||
local icon = LibStub('LibDBIcon-1.0')
|
||||
local minimap = LibStub:GetLibrary('LibDataBroker-1.1'):NewDataObject("AtlasLoot", {
|
||||
type = 'data source',
|
||||
text = "AtlasLoot",
|
||||
icon = "Interface\\Icons\\INV_Box_01",
|
||||
OnClick = function()
|
||||
if IsShiftKeyDown() then
|
||||
AtlasLootOptions_Toggle();
|
||||
else
|
||||
if AtlasLootDefaultFrame:IsVisible() then
|
||||
AtlasLootDefaultFrame:Hide();
|
||||
else
|
||||
AtlasLootDefaultFrame:Show();
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
})
|
||||
|
||||
function AtlasLoot_OnBarButtonClick(button)
|
||||
if IsShiftKeyDown() then
|
||||
AtlasLootOptions_Toggle();
|
||||
function minimap.OnClick(frame, button)
|
||||
GameTooltip:Hide()
|
||||
if IsShiftKeyDown() then
|
||||
AtlasLoot:OptionsToggle();
|
||||
else
|
||||
if AtlasLootDefaultFrame:IsVisible() then
|
||||
AtlasLootDefaultFrame:Hide();
|
||||
@@ -38,110 +19,47 @@ function AtlasLoot_OnBarButtonClick(button)
|
||||
end
|
||||
end
|
||||
|
||||
--[[function AtlasLoot_MinimapButtonInit()
|
||||
if AtlasLootMinimapButtonFrame then
|
||||
if IsAddOnLoaded("FuBar") then
|
||||
AtlasLootMinimapButtonFrame:SetPoint("CENTER", "UIParent", "CENTER");
|
||||
AtlasLootMinimapButtonFrame:Hide();
|
||||
elseif(AtlasLoot.db.profile.MinimapButton == true) then
|
||||
AtlasLootMinimapButtonFrame:SetPoint("TOPLEFT","Minimap","TOPLEFT",54 - (78 * cos(AtlasLoot.db.profile.MinimapButtonAngle)),(78 * sin(AtlasLoot.db.profile.MinimapButtonAngle)) - 55);
|
||||
AtlasLootMinimapButtonFrame:Show();
|
||||
else
|
||||
AtlasLootMinimapButtonFrame:SetPoint("CENTER", "UIParent", "CENTER");
|
||||
AtlasLootMinimapButtonFrame:Hide();
|
||||
end
|
||||
end
|
||||
function minimap.OnLeave()
|
||||
GameTooltip:Hide()
|
||||
end
|
||||
|
||||
function AtlasLoot_MinimapButtonOnEnter()
|
||||
GameTooltip:SetOwner(this, "ANCHOR_LEFT");
|
||||
GameTooltip:SetText(string.sub(ATLASLOOT_VERSION, 11, 28));
|
||||
GameTooltip:AddLine(AL["|cff1eff00Left-Click|r Browse Loot Tables"]);
|
||||
GameTooltip:AddLine(AL["|cffff0000Shift-Click|r View Options"]);
|
||||
GameTooltip:AddLine(AL["|cffccccccRight-Click + Drag|r Move Minimap Button"]);
|
||||
GameTooltip:Show();
|
||||
-- handle minimap tooltip
|
||||
local function GetTipAnchor(frame)
|
||||
local x, y = frame:GetCenter()
|
||||
if not x or not y then return 'TOPLEFT', 'BOTTOMLEFT' end
|
||||
local hhalf = (x > UIParent:GetWidth() * 2 / 3) and 'RIGHT' or (x < UIParent:GetWidth() / 3) and 'LEFT' or ''
|
||||
local vhalf = (y > UIParent:GetHeight() / 2) and 'TOP' or 'BOTTOM'
|
||||
return vhalf .. hhalf, frame, (vhalf == 'TOP' and 'BOTTOM' or 'TOP') .. hhalf
|
||||
end
|
||||
|
||||
-- Thanks to Yatlas and Atlas for this code
|
||||
function AtlasLoot_MinimapButtonBeingDragged()
|
||||
-- Thanks to Gello and Dan Gilbert for this code
|
||||
local xpos,ypos = GetCursorPosition()
|
||||
local xmin,ymin = Minimap:GetLeft(), Minimap:GetBottom()
|
||||
|
||||
xpos = xmin-xpos/UIParent:GetScale()+70
|
||||
ypos = ypos/UIParent:GetScale()-ymin-70
|
||||
|
||||
AtlasLoot_MinimapButtonSetPosition(math.deg(math.atan2(ypos,xpos)));
|
||||
function minimap.OnEnter(frame)
|
||||
GameTooltip:SetOwner(frame, 'ANCHOR_NONE')
|
||||
GameTooltip:SetPoint(GetTipAnchor(frame))
|
||||
GameTooltip:ClearLines()
|
||||
GameTooltip:AddLine("AtlasLoot")
|
||||
GameTooltip:AddLine("|cff1eff00Left-Click|r Browse Loot Tables")
|
||||
GameTooltip:AddLine("|cffff0000Shift-Click|r View Options")
|
||||
GameTooltip:AddLine("|cffccccccLeft-Click + Drag|r Move Minimap Button")
|
||||
GameTooltip:Show()
|
||||
end
|
||||
|
||||
function AtlasLoot_MinimapButtonSetPosition(v)
|
||||
if(v < 0) then
|
||||
v = v + 360;
|
||||
end
|
||||
function AtlasLoot:MinimapIconSetup()
|
||||
if not self.db.profile.minimap then
|
||||
self.db.profile.minimap = {hide = false}
|
||||
end
|
||||
|
||||
AtlasLoot.db.profile.MinimapButtonAngle = v;
|
||||
AtlasLoot_MinimapButtonUpdatePosition();
|
||||
if icon then
|
||||
icon:Register('AtlasLoot', minimap, self.db.profile.minimap)
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot_MinimapButtonUpdatePosition()
|
||||
local radius = AtlasLoot.db.profile.MinimapButtonRadius;
|
||||
AtlasLootMinimapButtonFrame:SetPoint(
|
||||
"TOPLEFT",
|
||||
"Minimap",
|
||||
"TOPLEFT",
|
||||
54 - (radius * cos(AtlasLoot.db.profile.MinimapButtonAngle)),
|
||||
(radius * sin(AtlasLoot.db.profile.MinimapButtonAngle)) - 55
|
||||
);
|
||||
if(AtlasLoot.db.profile.MinimapButton == true) then
|
||||
AtlasLootMinimapButtonFrame:Show();
|
||||
-- show/hide minimap icon
|
||||
function AtlasLoot:ToggleMinimap()
|
||||
local hide = not self.db.profile.minimap.hide
|
||||
self.db.profile.minimap.hide = hide
|
||||
if hide then
|
||||
icon:Hide("AtlasLoot")
|
||||
else
|
||||
AtlasLootMinimapButtonFrame:Hide();
|
||||
icon:Show("AtlasLoot")
|
||||
end
|
||||
end]]
|
||||
|
||||
--[[if IsAddOnLoaded("FuBar") then
|
||||
if AtlasLootMinimapButtonFrame then
|
||||
AtlasLootMinimapButtonFrame:SetPoint("CENTER", "UIParent", "CENTER");
|
||||
AtlasLootMinimapButtonFrame:Hide();
|
||||
end
|
||||
|
||||
AtlasLootFu = LibStub("AceAddon-3.0"):NewAddon("AtlasLootFu");
|
||||
|
||||
AceDB = LibStub("AceDB-3.0");
|
||||
|
||||
AtlasLootFu.db = AceDB:New("AtlasLootFuDB");
|
||||
|
||||
LibStub("AceAddon-3.0"):EmbedLibrary(AtlasLootFu, "LibFuBarPlugin-Mod-3.0", true);
|
||||
|
||||
AtlasLootFu:SetFuBarOption("tooltipType", "GameTooltip");
|
||||
--AtlasLootFu:SetFuBarOption("configType", "Dewdrop-2.0");
|
||||
AtlasLootFu:SetFuBarOption("iconPath", "Interface\\Icons\\INV_Box_01");
|
||||
--AtlasLootFu:SetFuBarOption("defaultMinimapPosition", 220);
|
||||
AtlasLootFu:SetFuBarOption("cannotDetachTooltip", true);
|
||||
AtlasLootFu:SetFuBarOption("hasNoColor", true);
|
||||
|
||||
--Make sure the plugin is the rightt format when activated
|
||||
function AtlasLootFu:OnEnable()
|
||||
self:UpdateFuBarPlugin();
|
||||
end
|
||||
|
||||
--Define text to display when the cursor mouses over the plugin
|
||||
function AtlasLootFu:OnUpdateFuBarTooltip()
|
||||
GameTooltip:AddLine(AL["|cff1eff00Left-Click|r Browse Loot Tables"]);
|
||||
GameTooltip:AddLine(AL["|cffff0000Shift-Click|r View Options"]);
|
||||
GameTooltip:AddLine(AL["|cffccccccLeft-Click + Drag|r Move Minimap Button"]);
|
||||
end
|
||||
|
||||
--Define what to do when the plugin is clicked
|
||||
function AtlasLootFu:OnFuBarClick(button)
|
||||
--Left click -> open loot browser
|
||||
--Shift Left Click -> show options menu
|
||||
--Right click -> standard FuBar options
|
||||
AtlasLoot_OnBarButtonClick(button);
|
||||
end
|
||||
|
||||
function AtlasLootFu:OpenMenu()
|
||||
AtlasLootOptions_Toggle();
|
||||
end
|
||||
|
||||
end]]
|
||||
end
|
||||
+364
-498
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,257 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
local ORANGE = "|cffFF8400"
|
||||
local GOLD = "|cffffcc00"
|
||||
local WHITE = "|cFFFFFFFF"
|
||||
local CYAN = "|cff00ffff"
|
||||
local DefaultPin = "questlog-questtypeicon-daily"
|
||||
-- Map Functions
|
||||
local playerFaction = UnitFactionGroup("player")
|
||||
local lastMap
|
||||
local totalPins = 0
|
||||
|
||||
-- Creates the map pins
|
||||
function AtlasLoot:CreateMapPins(list)
|
||||
_G["AtlasLoot_PlayerMapPin"]:Hide()
|
||||
-- Hide all pins before reshowing so any extras arnt showing
|
||||
if totalPins then
|
||||
for i = 1, totalPins do
|
||||
_G["AtlasLoot_MapPin"..i]:Hide()
|
||||
end
|
||||
end
|
||||
-- Creates buttons on the map for pins if a button dosnt already exist
|
||||
-- If a button exists reuse it
|
||||
for i,map in ipairs(list) do
|
||||
--create pin buttons
|
||||
if not _G["AtlasLoot_MapPin"..i] then
|
||||
-- Map Pins
|
||||
local mapPin = CreateFrame("Button","AtlasLoot_MapPin"..i, AtlasLootDefaultFrame_Map)
|
||||
mapPin:SetSize(25,25)
|
||||
mapPin:SetFrameStrata("HIGH")
|
||||
mapPin.text = mapPin:CreateFontString(nil, "OVERLAY","GameFontNormal")
|
||||
mapPin.text:SetPoint("LEFT",mapPin, 30, 0)
|
||||
mapPin.text:SetJustifyH("LEFT")
|
||||
mapPin.text:SetFont("GameFontNormal", 28)
|
||||
mapPin.text:SetSize(150,12)
|
||||
mapPin.tex = mapPin:CreateTexture(nil, "ARTWORK")
|
||||
mapPin.tex:SetPoint("CENTER")
|
||||
totalPins = totalPins + 1
|
||||
end
|
||||
-- converts a standard coordinate x,y to stardard anchor points
|
||||
local x = ((AtlasLootDefaultFrame_Map:GetWidth()/100) * map[2][1]) - (_G["AtlasLoot_MapPin"..i]:GetWidth()/2)
|
||||
local y = (-(AtlasLootDefaultFrame_Map:GetHeight()/100) * map[2][2]) + (_G["AtlasLoot_MapPin"..i]:GetHeight()/2)
|
||||
_G["AtlasLoot_MapPin"..i]:SetScript("OnEnter", function(btn)
|
||||
self.showCords = true
|
||||
GameTooltip:SetOwner(btn, "ANCHOR_TOPLEFT")
|
||||
GameTooltip:AddLine(WHITE..map[1])
|
||||
if map[4] and list.groups[map[4]] then
|
||||
for _,v in ipairs(list.groups[map[4]]) do
|
||||
if v ~= map[1] then
|
||||
GameTooltip:AddLine(WHITE..v)
|
||||
end
|
||||
end
|
||||
end
|
||||
GameTooltip:AddLine("("..map[2][1]..", "..map[2][2]..")")
|
||||
GameTooltip:Show()
|
||||
end)
|
||||
_G["AtlasLoot_MapPin"..i]:SetScript("OnLeave", function()
|
||||
GameTooltip:Hide()
|
||||
end)
|
||||
if map[3] then
|
||||
local tex = AtlasUtil:GetAtlasInfo(map[3])
|
||||
_G["AtlasLoot_MapPin"..i].tex:SetTexture(tex.filename)
|
||||
_G["AtlasLoot_MapPin"..i].tex:SetTexCoord(tex.leftTexCoord, tex.rightTexCoord, tex.topTexCoord, tex.bottomTexCoord)
|
||||
_G["AtlasLoot_MapPin"..i].tex:SetSize(25,25)
|
||||
else
|
||||
local tex = AtlasUtil:GetAtlasInfo(DefaultPin)
|
||||
_G["AtlasLoot_MapPin"..i].tex:SetTexture(tex.filename)
|
||||
_G["AtlasLoot_MapPin"..i].tex:SetTexCoord(tex.leftTexCoord, tex.rightTexCoord, tex.topTexCoord, tex.bottomTexCoord)
|
||||
_G["AtlasLoot_MapPin"..i].tex:SetSize(25,25)
|
||||
end
|
||||
_G["AtlasLoot_MapPin"..i].text:SetText(CYAN..map[1])
|
||||
_G["AtlasLoot_MapPin"..i]:ClearAllPoints()
|
||||
_G["AtlasLoot_MapPin"..i]:SetPoint("TOPLEFT",AtlasLootDefaultFrame_Map,x ,y)
|
||||
_G["AtlasLoot_MapPin"..i]:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot:MapOnEnter()
|
||||
local x, y = self:GetCursorCords()
|
||||
if self.showCords then
|
||||
AtlasLootDefaultFrame_Map.cursorCords:SetText(WHITE.."Cursor: "..x.." , "..y)
|
||||
end
|
||||
end
|
||||
|
||||
-- Track the coordinates off the mouse while it is on the map frame
|
||||
function AtlasLoot:GetCursorCords()
|
||||
local scale,x, y = AtlasLootDefaultFrame_Map:GetEffectiveScale(), GetCursorPosition()
|
||||
local width, height = AtlasLootDefaultFrame_Map:GetWidth()/100, AtlasLootDefaultFrame_Map:GetHeight()/100
|
||||
x, y = math.ceil(((x/scale) - AtlasLootDefaultFrame_Map:GetLeft())/width), math.ceil((((y/scale) - AtlasLootDefaultFrame_Map:GetTop())/height) * -1)
|
||||
return x, y
|
||||
end
|
||||
|
||||
function AtlasLoot:PlayerPin(firstSet)
|
||||
if AtlasLootDefaultFrame_Map:IsVisible() and AtlasLoot_MapData[self.CurrentMap].ZoneName[1] == GetRealZoneText() and self.MapNum == GetCurrentMapDungeonLevel() then
|
||||
_G["AtlasLoot_PlayerMapPin"]:Show()
|
||||
else
|
||||
return
|
||||
end
|
||||
if GetUnitSpeed("player") > 0 or firstSet then
|
||||
local x, y = GetPlayerMapPosition("player")
|
||||
x = ((AtlasLootDefaultFrame_Map:GetWidth()/100) * (x * 100)) - (_G["AtlasLoot_PlayerMapPin"]:GetWidth()/2)
|
||||
y = (-(AtlasLootDefaultFrame_Map:GetHeight()/100) * (y * 100)) + (_G["AtlasLoot_PlayerMapPin"]:GetHeight()/2)
|
||||
_G["AtlasLoot_PlayerMapPin"]:ClearAllPoints()
|
||||
_G["AtlasLoot_PlayerMapPin"]:SetPoint("TOPLEFT",AtlasLootDefaultFrame_Map, x, y )
|
||||
_G["AtlasLoot_PlayerMapPin"].texture:SetRotation(GetPlayerFacing())
|
||||
end
|
||||
self.playerPinTimer = self:ScheduleTimer("PlayerPin", .1)
|
||||
end
|
||||
|
||||
function AtlasLoot:SetNavButtons(mapID, mapNum)
|
||||
if not AtlasLootDefaultFrame_Map:IsVisible() then return end
|
||||
--Hide navigation buttons by default, only show what we need
|
||||
_G["AtlasLootItemsFrame_BACK"]:Hide()
|
||||
_G["AtlasLootItemsFrame_NEXT"]:Hide()
|
||||
_G["AtlasLootItemsFrame_PREV"]:Hide()
|
||||
|
||||
if mapNum ~= #_G["AtlasLoot_MapData"][mapID] then
|
||||
_G["AtlasLootItemsFrame_NEXT"]:SetParent("AtlasLootDefaultFrame_Map")
|
||||
_G["AtlasLootItemsFrame_NEXT"]:Show()
|
||||
_G["AtlasLootItemsFrame_NEXT"].mapNum = mapNum + 1
|
||||
_G["AtlasLootItemsFrame_NEXT"].mapID = mapID
|
||||
_G["AtlasLootItemsFrame_NEXT"]:ClearAllPoints()
|
||||
_G["AtlasLootItemsFrame_NEXT"]:SetPoint("BOTTOMRIGHT", "AtlasLootDefaultFrame_Map", "BOTTOMRIGHT",-5,5)
|
||||
end
|
||||
if mapNum ~= 1 then
|
||||
_G["AtlasLootItemsFrame_PREV"]:SetParent("AtlasLootDefaultFrame_Map")
|
||||
_G["AtlasLootItemsFrame_PREV"]:Show()
|
||||
_G["AtlasLootItemsFrame_PREV"].mapNum = mapNum - 1
|
||||
_G["AtlasLootItemsFrame_PREV"].mapID = mapID
|
||||
_G["AtlasLootItemsFrame_PREV"]:ClearAllPoints()
|
||||
_G["AtlasLootItemsFrame_PREV"]:SetPoint("BOTTOMLEFT", "AtlasLootDefaultFrame_Map", "BOTTOMLEFT",5,5)
|
||||
end
|
||||
end
|
||||
|
||||
--called everytime you open a map hiding the loot item buttons
|
||||
function AtlasLoot:MapOnShow(mapID, mapNum, refresh)
|
||||
if not refresh and AtlasLootDefaultFrame_Map:IsVisible() then
|
||||
AtlasLootDefaultFrame_Map:Hide()
|
||||
AtlaslLoot_LootBackground:Show()
|
||||
self:BackButton_OnClick()
|
||||
AtlasLoot_BossName:Show()
|
||||
Atlasloot_HeaderLabel:Hide()
|
||||
self:ScrollFrameUpdate()
|
||||
else
|
||||
if self.CurrentMap then
|
||||
AtlasLoot_BossName:Hide()
|
||||
-- Hide the Filter Check-Box
|
||||
AtlasLootFilterCheck:Hide()
|
||||
AtlaslLoot_LootBackground:Hide()
|
||||
--Hide UI objects so that only needed ones are shown
|
||||
for i = 1, 30, 1 do
|
||||
_G["AtlasLootItem_"..i]:Hide()
|
||||
_G["AtlasLootItem_"..i].itemID = 0
|
||||
end
|
||||
AtlasLootDefaultFrame_Map:Show()
|
||||
Atlasloot_HeaderLabel:Show()
|
||||
self:ScrollFrameUpdate(true)
|
||||
AtlasLootDefaultFrameScroll:Hide()
|
||||
|
||||
SetMapToCurrentZone()
|
||||
if mapNum and mapID then
|
||||
self.CurrentMap = mapID
|
||||
elseif AtlasLoot_MapData[self.CurrentMap].ZoneName[1] == GetRealZoneText() then
|
||||
if GetCurrentMapDungeonLevel() == 0 then
|
||||
mapNum = 1
|
||||
else
|
||||
mapNum = GetCurrentMapDungeonLevel()
|
||||
end
|
||||
elseif lastMap == self.CurrentMap then
|
||||
mapNum = self.MapNum
|
||||
end
|
||||
lastMap = self.CurrentMap
|
||||
self:MapSelect(self.CurrentMap, mapNum)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--called to change the current displayed map
|
||||
function AtlasLoot:MapSelect(mapID, mapNum)
|
||||
local map = AtlasLoot_MapData[mapID]
|
||||
if map.MapName then
|
||||
for i = 1, 12 do
|
||||
local texture = _G["AtlasLoot_MapDetailTile"..i]:SetTexture("Interface\\Worldmap\\"..map.MapName.."\\"..map.MapName..mapNum.."_"..i)
|
||||
if not texture then
|
||||
_G["AtlasLoot_MapDetailTile"..i]:SetTexture("Interface\\Worldmap\\"..map.MapName.."\\"..map.MapName..i)
|
||||
end
|
||||
end
|
||||
end
|
||||
local pinsList = {groups = {}}
|
||||
local group = 0
|
||||
for _, v in ipairs (map[mapNum]) do
|
||||
if v.cords then
|
||||
group = group + 1
|
||||
tinsert(pinsList,{v[1],v.cords,v.pinType, group})
|
||||
end
|
||||
if group ~= 0 then
|
||||
if not pinsList.groups[group] then pinsList.groups[group] = {} end
|
||||
tinsert(pinsList.groups[group], v[1])
|
||||
end
|
||||
end
|
||||
self.MapNum = mapNum
|
||||
self.CurrentMap = mapID
|
||||
self:SubTableScrollFrameUpdate(mapID, "AtlasLoot_MapData", mapNum)
|
||||
self:SetNavButtons(mapID, mapNum)
|
||||
self:CreateMapPins(pinsList)
|
||||
self:CancelTimer(self.playerPinTimer)
|
||||
self:PlayerPin(true)
|
||||
|
||||
local text = map.ZoneName[1]..WHITE.." ["..map.Acronym.."]\n"..
|
||||
GOLD .. "Location: ".. WHITE..map.Location[1].."\n"..
|
||||
GOLD .. "Level Range: ".. WHITE..map.LevelRange.."\n"..
|
||||
GOLD .. "Minimum Level: ".. WHITE..map.MinLevel.."\n"..
|
||||
GOLD .. "Player Limit: ".. WHITE..map.PlayerLimit
|
||||
|
||||
if map.Reputation and type(map.Reputation) == "table" then
|
||||
text = text .. "\n" .. GOLD .. AL["Reputation"] .. ": ".. WHITE .. map.Reputation[playerFaction]
|
||||
elseif map.Reputation then
|
||||
text = text .. "\n" .. GOLD .. AL["Reputation"] .. ": ".. WHITE .. map.Reputation
|
||||
end
|
||||
Atlasloot_HeaderLabel:SetText(text)
|
||||
self:SetMapButtonText(mapID, mapNum)
|
||||
end
|
||||
|
||||
function AtlasLoot:SetMapButtonText(mapID, mapNum)
|
||||
local map = AtlasLoot_MapData[mapID]
|
||||
mapNum = mapNum or 1
|
||||
local text
|
||||
if map[mapNum][1].Zone then
|
||||
text = map[mapNum][2][1]
|
||||
else
|
||||
text = map[mapNum][1][1]
|
||||
end
|
||||
AtlasLootDefaultFrame_MapButton:SetText(text)
|
||||
end
|
||||
|
||||
--drop down map menu
|
||||
function AtlasLoot:MapMenuOpen(frame)
|
||||
local mapID = self.CurrentMap
|
||||
local map = AtlasLoot_MapData[mapID]
|
||||
|
||||
local menuList = { [1] = {} }
|
||||
for i,v in ipairs(map) do
|
||||
local text
|
||||
if v[1].Zone then
|
||||
text = map[i][2][1]
|
||||
else
|
||||
text = v[1][1]
|
||||
end
|
||||
tinsert(menuList[1], {text = WHITE..text, func = function() self:MapOnShow(mapID, i, true) end, notCheckable = true, closeWhenClicked = true, textHeight = 12, textWidth = 12})
|
||||
end
|
||||
|
||||
tinsert(menuList[1], {divider = 35})
|
||||
tinsert(menuList[1], {text = ORANGE..AL["Open AscensionDB To Zone Map"], func = function() self:OpenDBURL(AtlasLoot_MapData[self.CurrentMap].ZoneName[2] , "zone") end, notCheckable = true, closeWhenClicked = true, textHeight = 12, textWidth = 12})
|
||||
tinsert(menuList[1], {close = true, divider = 35})
|
||||
|
||||
self:OpenDewdropMenu(frame, menuList)
|
||||
end
|
||||
+182
-290
@@ -2,152 +2,102 @@
|
||||
Options.lua
|
||||
Functions:
|
||||
AtlasLoot_OptionsPanelOnLoad(panel)
|
||||
AtlasLootOptions_Init()
|
||||
AtlasLootOptions_OnLoad()
|
||||
AtlasLootOptions_SafeLinksToggle()
|
||||
AtlasLootOptions_AllLinksToggle()
|
||||
AtlasLootOptions_DefaultTTToggle()
|
||||
AtlasLootOptions_LootlinkTTToggle()
|
||||
AtlasLootOptions_ItemSyncTTToggle()
|
||||
AtlasLootOptions_EquipCompareToggle()
|
||||
AtlasLootOptions_OpaqueToggle()
|
||||
AtlasLootOptions_ItemIDToggle()
|
||||
AtlasLootOptions_MinimapToggle()
|
||||
AtlasLootOptions_LoDSpam()
|
||||
AtlasLootOptions_LoDStartup()
|
||||
AtlasLoot_SetupLootBrowserSlider(frame, mymin, mymax, step)
|
||||
AtlasLoot_UpdateLootBrowserSlider(frame)
|
||||
AtlasLoot_DisplayHelp();
|
||||
AtlasLoot_CreateOptionsInfoTooltips()
|
||||
AtlasLoot:OptionsInit()
|
||||
AtlasLoot:OptionsAllLinksToggle()
|
||||
AtlasLoot:OptionsEquipCompareToggle()
|
||||
AtlasLoot:OptionsOpaqueToggle()
|
||||
AtlasLoot:OptionsItemIDToggle()
|
||||
AtlasLoot:OptionsLoDStartup()
|
||||
AtlasLoot:SetupLootBrowserSlider(frame, mymin, mymax, step)
|
||||
AtlasLoot:UpdateLootBrowserSlider(frame)
|
||||
AtlasLoot:DisplayHelp()
|
||||
AtlasLoot:CreateOptionsInfoTooltips()
|
||||
]]
|
||||
|
||||
local GREY = "|cff999999";
|
||||
local RED = "|cffff0000";
|
||||
local WHITE = "|cffFFFFFF";
|
||||
local GREEN = "|cff1eff00";
|
||||
local PURPLE = "|cff9F3FFF";
|
||||
local BLUE = "|cff0070dd";
|
||||
local ORANGE = "|cffFF8400";
|
||||
local GREY = "|cff999999"
|
||||
local WHITE = "|cffFFFFFF"
|
||||
local GREEN = "|cff1eff00"
|
||||
local ORANGE = "|cffFF8400"
|
||||
|
||||
--Invoke libraries
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
function AtlasLoot_OptionsPanelOnLoad(panel)
|
||||
panel.name=AL["AtlasLoot"];
|
||||
InterfaceOptions_AddCategory(panel);
|
||||
panel.name=AL["AtlasLoot"]
|
||||
InterfaceOptions_AddCategory(panel)
|
||||
end
|
||||
|
||||
function AtlasLootOptions_Init()
|
||||
function AtlasLoot:OptionsInit()
|
||||
--Initialise all the check boxes on the options frame
|
||||
AtlasLootOptionsFrameSafeLinks:SetChecked(AtlasLoot.db.profile.SafeLinks);
|
||||
AtlasLootOptionsFrameDefaultTT:SetChecked(AtlasLoot.db.profile.DefaultTT);
|
||||
AtlasLootOptionsFrameLootlinkTT:SetChecked(AtlasLoot.db.profile.LootlinkTT);
|
||||
AtlasLootOptionsFrameItemSyncTT:SetChecked(AtlasLoot.db.profile.ItemSyncTT);
|
||||
AtlasLootOptionsFrameEquipCompare:SetChecked(AtlasLoot.db.profile.EquipCompare);
|
||||
AtlasLootOptionsFrameOpaque:SetChecked(AtlasLoot.db.profile.Opaque);
|
||||
AtlasLootOptionsFrameAutoInstance:SetChecked(AtlasLoot.db.profile.AutoCurrentInstance);
|
||||
AtlasLootOptionsFrameItemID:SetChecked(AtlasLoot.db.profile.ItemIDs);
|
||||
AtlasLootOptionsFrameLoDStartup:SetChecked(AtlasLoot.db.profile.LoadAllLoDStartup);
|
||||
AtlasLootOptionsFrameLootBrowserScale:SetValue(AtlasLoot.db.profile.LootBrowserScale);
|
||||
AtlasLootOptionsFrameEquipCompare:SetChecked(self.db.profile.EquipCompare)
|
||||
AtlasLootOptionsFrameOpaque:SetChecked(self.db.profile.Opaque)
|
||||
AtlasLootOptionsFrameAutoInstance:SetChecked(self.db.profile.AutoCurrentInstance)
|
||||
AtlasLootOptionsFrameItemID:SetChecked(self.db.profile.ItemIDs)
|
||||
AtlasLootOptionsFrameLootBrowserScale:SetValue(self.db.profile.LootBrowserScale)
|
||||
AtlasLootOptionsMinimapIcon:SetChecked(self.db.profile.minimap.hide)
|
||||
AtlasLootOptionsFrameCraftingInfo:SetChecked(self.db.profile.recipeExtraInfoSwitch)
|
||||
end
|
||||
|
||||
function AtlasLootOptions_OnLoad()
|
||||
--Disable checkboxes of missing addons
|
||||
if( not LootLink_SetTooltip ) then
|
||||
AtlasLootOptionsFrameLootlinkTT:Disable();
|
||||
AtlasLootOptionsFrameLootlinkTTText:SetText(AL["|cff9d9d9dLootlink Tooltips|r"]);
|
||||
end
|
||||
if( not ItemSync ) then
|
||||
AtlasLootOptionsFrameItemSyncTT:Disable();
|
||||
AtlasLootOptionsFrameItemSyncTTText:SetText(AL["|cff9d9d9dItemSync Tooltips|r"]);
|
||||
end
|
||||
AtlasLootOptions_Init();
|
||||
temp=AtlasLoot.db.profile.SafeLinks;
|
||||
end
|
||||
|
||||
function AtlasLootOptions_SafeLinksToggle()
|
||||
if(AtlasLoot.db.profile.SafeLinks) then
|
||||
AtlasLoot.db.profile.SafeLinks = false;
|
||||
AtlasLoot.db.profile.AllLinks = true;
|
||||
--[[
|
||||
AtlasLoot:OptionsToggle:
|
||||
Toggle on/off the options window
|
||||
]]
|
||||
function AtlasLoot:OptionsToggle()
|
||||
if InterfaceOptionsFrame_OpenToCategory and not InterfaceOptionsFrame:IsVisible() then
|
||||
InterfaceOptionsFrame_OpenToCategory(AL["AtlasLoot"])
|
||||
else
|
||||
AtlasLoot.db.profile.SafeLinks = true;
|
||||
AtlasLoot.db.profile.AllLinks = false;
|
||||
end
|
||||
AtlasLootOptions_Init();
|
||||
end
|
||||
|
||||
function AtlasLootOptions_DefaultTTToggle()
|
||||
AtlasLoot.db.profile.DefaultTT = true;
|
||||
AtlasLoot.db.profile.LootlinkTT = false;
|
||||
AtlasLoot.db.profile.ItemSyncTT = false;
|
||||
AtlasLootOptions_Init();
|
||||
end
|
||||
|
||||
function AtlasLootOptions_LootlinkTTToggle()
|
||||
AtlasLoot.db.profile.DefaultTT = false;
|
||||
AtlasLoot.db.profile.LootlinkTT = true;
|
||||
AtlasLoot.db.profile.ItemSyncTT = false;
|
||||
AtlasLootOptions_Init();
|
||||
end
|
||||
|
||||
function AtlasLootOptions_ItemSyncTTToggle()
|
||||
AtlasLoot.db.profile.DefaultTT = false;
|
||||
AtlasLoot.db.profile.LootlinkTT = false;
|
||||
AtlasLoot.db.profile.ItemSyncTT = true;
|
||||
AtlasLootOptions_Init();
|
||||
end
|
||||
|
||||
function AtlasLootOptions_OpaqueToggle()
|
||||
AtlasLoot.db.profile.Opaque=AtlasLootOptionsFrameOpaque:GetChecked();
|
||||
if (AtlasLoot.db.profile.Opaque) then
|
||||
AtlasLootItemsFrame_Back:SetTexture(0, 0, 0, 1);
|
||||
else
|
||||
AtlasLootItemsFrame_Back:SetTexture(0, 0, 0, 0.65);
|
||||
InterfaceOptionsFrame:Hide()
|
||||
end
|
||||
AtlasLootOptions_Init();
|
||||
InterfaceOptionsFrame:SetFrameStrata("DIALOG")
|
||||
end
|
||||
|
||||
function AtlasLoot:OptionsOpaqueToggle()
|
||||
self.db.profile.Opaque = AtlasLootOptionsFrameOpaque:GetChecked()
|
||||
if (self.db.profile.Opaque) then
|
||||
AtlasLootItemsFrame_Back:SetTexture(0, 0, 0, 1)
|
||||
Atlasloot_Difficulty_ScrollFrame_Back:SetTexture(0, 0, 0, 1)
|
||||
Atlasloot_SubTableFrame_Back:SetTexture(0, 0, 0, 1)
|
||||
else
|
||||
AtlasLootItemsFrame_Back:SetTexture(0, 0, 0, 0.05)
|
||||
Atlasloot_Difficulty_ScrollFrame_Back:SetTexture(0, 0, 0, 0.05)
|
||||
Atlasloot_SubTableFrame_Back:SetTexture(0, 0, 0, 0.05)
|
||||
end
|
||||
self:OptionsInit()
|
||||
end
|
||||
|
||||
function AtlasLoot:Options_AutoInstanceToggle()
|
||||
AtlasLoot.db.profile.AutoCurrentInstance = AtlasLootOptionsFrameAutoInstance:GetChecked();
|
||||
self.db.profile.AutoCurrentInstance = AtlasLootOptionsFrameAutoInstance:GetChecked()
|
||||
end
|
||||
|
||||
function AtlasLootOptions_LoDStartup()
|
||||
if (AtlasLoot.db.profile.LoadAllLoDStartup) then
|
||||
AtlasLoot.db.profile.LoadAllLoDStartup = false;
|
||||
else
|
||||
AtlasLoot.db.profile.LoadAllLoDStartup = true;
|
||||
end
|
||||
AtlasLootOptions_Init();
|
||||
function AtlasLoot:OptionsItemIDToggle()
|
||||
self.db.profile.ItemIDs=AtlasLootOptionsFrameItemID:GetChecked()
|
||||
self:OptionsInit()
|
||||
end
|
||||
|
||||
function AtlasLootOptions_ItemIDToggle()
|
||||
AtlasLoot.db.profile.ItemIDs=AtlasLootOptionsFrameItemID:GetChecked();
|
||||
AtlasLootOptions_Init();
|
||||
end
|
||||
|
||||
function AtlasLoot_SetupLootBrowserSlider(frame, mymin, mymax, step)
|
||||
_G[frame:GetName().."Text"]:SetText(AL["Loot Browser Scale: "].." ("..frame:GetValue()..")");
|
||||
frame:SetMinMaxValues(mymin, mymax);
|
||||
_G[frame:GetName().."Low"]:SetText(mymin);
|
||||
_G[frame:GetName().."High"]:SetText(mymax);
|
||||
frame:SetValueStep(step);
|
||||
function AtlasLoot:SetupLootBrowserSlider(frame, mymin, mymax, step)
|
||||
_G[frame:GetName().."Text"]:SetText(AL["Loot Browser Scale: "].." ("..frame:GetValue()..")")
|
||||
frame:SetMinMaxValues(mymin, mymax)
|
||||
_G[frame:GetName().."Low"]:SetText(mymin)
|
||||
_G[frame:GetName().."High"]:SetText(mymax)
|
||||
frame:SetValueStep(step)
|
||||
self:OptionsInit()
|
||||
end
|
||||
|
||||
--Borrowed from Atlas, thanks Dan!
|
||||
local function round(num, idp)
|
||||
local mult = 10 ^ (idp or 0);
|
||||
return math.floor(num * mult + 0.5) / mult;
|
||||
local mult = 10 ^ (idp or 0)
|
||||
return math.floor(num * mult + 0.5) / mult
|
||||
end
|
||||
|
||||
function AtlasLoot_UpdateLootBrowserSlider(frame)
|
||||
_G[frame:GetName().."Text"]:SetText(AL["Loot Browser Scale: "].." ("..round(frame:GetValue(),2)..")");
|
||||
function AtlasLoot:UpdateLootBrowserSlider(frame)
|
||||
_G[frame:GetName().."Text"]:SetText(AL["Loot Browser Scale: "].." ("..round(frame:GetValue(),2)..")")
|
||||
end
|
||||
|
||||
function AtlasLoot_UpdateLootBrowserScale()
|
||||
AtlasLootDefaultFrame:SetScale(AtlasLoot.db.profile.LootBrowserScale);
|
||||
function AtlasLoot:UpdateLootBrowserScale()
|
||||
AtlasLootDefaultFrame:SetScale(self.db.profile.LootBrowserScale)
|
||||
end
|
||||
|
||||
function AtlasLoot_DisplayHelp()
|
||||
function AtlasLoot:DisplayHelp()
|
||||
if not _G["AtlasLootHelpFrame_HelpText"] then
|
||||
local framewidht = InterfaceOptionsFramePanelContainer:GetWidth()
|
||||
local panel3 = CreateFrame("ScrollFrame", "AtlasLootHelpFrame_HelpTextFrameScroll", AtlasLootHelpFrame, "UIPanelScrollFrameTemplate")
|
||||
@@ -169,16 +119,13 @@ function AtlasLoot_DisplayHelp()
|
||||
local Text = scc:CreateFontString("AtlasLootHelpFrame_HelpText","OVERLAY","GameFontNormal")
|
||||
Text:SetPoint("TOPLEFT", scc, "TOPLEFT", 0, 0)
|
||||
Text:SetText(
|
||||
ORANGE..AL["How to open the standalone Loot Browser:"].."\n"..
|
||||
WHITE..AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."].."\n\n"..
|
||||
ORANGE..AL["How to link an item to someone else:"].."\n"..
|
||||
WHITE..AL["Shift+Left Click the item like you would for any other in-game item"].."\n\n"..
|
||||
ORANGE..AL["How to view an item in the Dressing Room:"].."\n"..
|
||||
WHITE..AL["Simply Ctrl+Left Click on the item. Sometimes the dressing room window is hidden behind the Atlas or AtlasLoot windows, so if nothing seems to happen move your Atlas or AtlasLoot windows and see if anything is hidden."].."\n\n"..
|
||||
ORANGE..AL["How to open an item to its AscensionDB page in your browser window:"].."\n"..
|
||||
WHITE..AL["Alt+Right Click any item to open it in a browser window."].."\n\n"..
|
||||
ORANGE..AL["How to add an item to the wishlist:"].."\n"..
|
||||
WHITE..AL["Alt+Left Click any item to add it to the wishlist."].."\n\n"..
|
||||
WHITE..AL["Right Click any item and open the context menu and click add to wishlist."].."\n\n"..
|
||||
WHITE..AL["Or Alt+Left Click any item to add it to the default wishlist."].."\n\n"..
|
||||
ORANGE..AL["How to delete an item from the wishlist:"].."\n"..
|
||||
WHITE..AL["While on the wishlist screen, just Alt+Left Click on an item to delete it."].."\n\n"..
|
||||
ORANGE..AL["What else does the wishlist do?"].."\n"..
|
||||
@@ -188,7 +135,7 @@ function AtlasLoot_DisplayHelp()
|
||||
ORANGE..AL["HELP!! I have broken the mod somehow!"].."\n"..
|
||||
WHITE..AL["Use the reset buttons available in the options menu, or type '/al reset' in your chat window."].."\n\n"..
|
||||
GREY..AL["For further help, see our website and forums: "]..GREEN.."https://discord.gg/uYCE2X2FgA"
|
||||
);
|
||||
)
|
||||
Text:SetWidth(framewidht-80)
|
||||
Text:SetJustifyH("LEFT")
|
||||
Text:SetJustifyV("TOP")
|
||||
@@ -196,195 +143,140 @@ function AtlasLoot_DisplayHelp()
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot_CreateOptionsInfoTooltips()
|
||||
AtlasLoot:CreateOptionsInfoTooltips()
|
||||
Adds explanatory tooltips to Atlasloot options
|
||||
]]
|
||||
function AtlasLoot_CreateOptionsInfoTooltips()
|
||||
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameDefaultTT", nil) -- AL["Default Tooltips"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameLootlinkTT", nil) -- AL["Lootlink Tooltips"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameItemSyncTT", nil) -- AL["ItemSync Tooltips"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameOpaque", nil) -- AL["Make Loot Table Opaque"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameItemID", nil) -- AL["Show itemIDs at all times"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameSafeLinks", nil) -- AL["Safe Chat Links |cff1eff00(recommended)|r"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameEquipCompare", nil) -- AL["Show Comparison Tooltips"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameLoDSpam", nil) -- AL["Notify on LoD Module Load"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrameLootBrowserScale", nil) -- Scale SLIDER
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrame_ResetAtlasLoot", nil) -- AL["Reset Frames"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrame_ResetWishlist", nil) -- AL["Reset Wishlist"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrame_ResetQuicklooks", nil) -- AL["Reset Quicklooks"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrame_FuBarShow", nil) -- AL["Show FuBar Plugin"]
|
||||
AtlasLoot:AddTooltip("AtlasLootOptionsFrame_FuBarHide", nil) -- AL["Hide FuBar Plugin"]
|
||||
AtlasLoot:AddTooltip("AtlasLoot_SelectLootBrowserStyle", nil)
|
||||
function AtlasLoot:CreateOptionsInfoTooltips()
|
||||
self:AddTooltip("AtlasLootOptionsFrameOpaque", nil) -- AL["Make Loot Table Opaque"]
|
||||
self:AddTooltip("AtlasLootOptionsFrameItemID", nil) -- AL["Show itemIDs at all times"]
|
||||
self:AddTooltip("AtlasLootOptionsFrameEquipCompare", nil) -- AL["Show Comparison Tooltips"]
|
||||
self:AddTooltip("AtlasLootOptionsFrameLoDSpam", nil) -- AL["Notify on LoD Module Load"]
|
||||
self:AddTooltip("AtlasLootOptionsFrameLootBrowserScale", nil) -- Scale SLIDER
|
||||
self:AddTooltip("AtlasLootOptionsFrame_ResetAtlasLoot", nil) -- AL["Reset Frames"]
|
||||
self:AddTooltip("AtlasLootOptionsFrame_ResetWishlist", nil) -- AL["Reset Wishlist"]
|
||||
self:AddTooltip("AtlasLootOptionsFrame_ResetQuicklooks", nil) -- AL["Reset Favorites"]
|
||||
self:AddTooltip("AtlasLoot_SelectLootBrowserStyle", nil)
|
||||
end
|
||||
|
||||
local function AtlasLoot_SelectLootBrowserStyle_Initialize()
|
||||
local info;
|
||||
info = {
|
||||
text = AL["New Style"];
|
||||
func = AtlasLoot_SelectLootBrowserStyle_OnClick;
|
||||
};
|
||||
UIDropDownMenu_AddButton(info);
|
||||
info = {
|
||||
text = AL["Classic Style"];
|
||||
func = AtlasLoot_SelectLootBrowserStyle_OnClick;
|
||||
};
|
||||
UIDropDownMenu_AddButton(info);
|
||||
end
|
||||
|
||||
function AtlasLoot_OptionsOnShow()
|
||||
AtlasLoot_SelectLootBrowserStyle_Label:SetText(AL["Loot Browser Style:"]);
|
||||
UIDropDownMenu_Initialize(AtlasLoot_SelectLootBrowserStyle, AtlasLoot_SelectLootBrowserStyle_Initialize);
|
||||
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectLootBrowserStyle, AtlasLoot.db.profile.LootBrowserStyle);
|
||||
UIDropDownMenu_SetWidth(AtlasLoot_SelectLootBrowserStyle, 150);
|
||||
end
|
||||
|
||||
function AtlasLoot_SelectLootBrowserStyle_OnClick()
|
||||
local thisID = this:GetID();
|
||||
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectLootBrowserStyle, thisID);
|
||||
AtlasLoot.db.profile.LootBrowserStyle = thisID;
|
||||
if( AtlasLoot.db.profile.LootBrowserStyle == 1 ) then
|
||||
AtlasLoot:SetNewStyle("new");
|
||||
else
|
||||
AtlasLoot:SetNewStyle("old");
|
||||
local function selectLootBrowserStyle_Initialize()
|
||||
for _, skin in pairs(AtlasLoot.skinKeys) do
|
||||
local info = {
|
||||
text = skin[2],
|
||||
func = AtlasLoot.SelectLootBrowserStyle_OnClick,
|
||||
}
|
||||
UIDropDownMenu_AddButton(info)
|
||||
end
|
||||
AtlasLoot_OptionsOnShow();
|
||||
end
|
||||
|
||||
function AtlasLoot:OptionsOnShow()
|
||||
AtlasLoot_SelectLootBrowserStyle_Label:SetText(AL["Change AtlasLoot Skin:"])
|
||||
UIDropDownMenu_Initialize(AtlasLoot_SelectLootBrowserStyle, selectLootBrowserStyle_Initialize)
|
||||
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectLootBrowserStyle, self.db.profile.LootBrowserStyle)
|
||||
UIDropDownMenu_SetWidth(AtlasLoot_SelectLootBrowserStyle, 150)
|
||||
end
|
||||
|
||||
function AtlasLoot:SelectLootBrowserStyle_OnClick()
|
||||
local thisID = this:GetID()
|
||||
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectLootBrowserStyle, thisID)
|
||||
AtlasLoot.db.profile.LootBrowserStyle = thisID
|
||||
if AtlasLoot.db.profile.LootBrowserStyle then
|
||||
AtlasLoot:SetSkin(AtlasLoot.skinKeys[AtlasLoot.db.profile.LootBrowserStyle][1])
|
||||
end
|
||||
AtlasLoot:OptionsOnShow()
|
||||
end
|
||||
|
||||
|
||||
|
||||
function AtlasLoot:CreateOptionsFrame()
|
||||
|
||||
local helpframe = CreateFrame("Frame", "AtlasLootHelpFrame")
|
||||
helpframe:SetSize(425,450);
|
||||
helpframe:Hide();
|
||||
helpframe:SetPoint("CENTER");
|
||||
helpframe.title = helpframe:CreateFontString("AtlasLootHelpFrame_Title", "OVERLAY", "GameFontHighlightLarge");
|
||||
helpframe.title:SetJustifyH("CENTER");
|
||||
helpframe.title:SetSize(400,30);
|
||||
helpframe.title:SetPoint("TOP", "AtlasLootHelpFrame","TOP");
|
||||
helpframe.title:SetText(AL["AtlasLoot Help"]);
|
||||
helpframe:SetScript("OnShow", function() AtlasLoot_DisplayHelp() end);
|
||||
helpframe:SetSize(425,450)
|
||||
helpframe:Hide()
|
||||
helpframe:SetPoint("CENTER")
|
||||
helpframe.title = helpframe:CreateFontString("AtlasLootHelpFrame_Title", "OVERLAY", "GameFontHighlightLarge")
|
||||
helpframe.title:SetJustifyH("CENTER")
|
||||
helpframe.title:SetSize(400,30)
|
||||
helpframe.title:SetPoint("TOP", "AtlasLootHelpFrame","TOP")
|
||||
helpframe.title:SetText(AL["AtlasLoot Help"])
|
||||
helpframe:SetScript("OnShow", function() self:DisplayHelp() end)
|
||||
|
||||
local optframe = CreateFrame("Frame", "AtlasLootOptionsFrame");
|
||||
optframe:Hide();
|
||||
optframe:SetSize(425,405);
|
||||
optframe:SetPoint("CENTER");
|
||||
optframe.title = optframe:CreateFontString("AtlasLoot_OptionsTitle", "OVERLAY", "GameFontHighlightLarge");
|
||||
optframe.title:SetJustifyH("CENTER");
|
||||
optframe.title:SetSize(400,30);
|
||||
optframe.title:SetPoint("TOP", "AtlasLootOptionsFrame","TOP");
|
||||
optframe.title:SetText(ATLASLOOT_VERSION);
|
||||
optframe.foobar = optframe:CreateFontString("AtlasLootOptionsFrame_FuBarNotice", "OVERLAY", "GameFontNormal");
|
||||
optframe.foobar:SetPoint("BOTTOM",0,45);
|
||||
optframe.foobar:SetText(AL["The Minimap Button is generated by the FuBar Plugin."].."\n"..AL["This is automatic, you do not need FuBar installed."]);
|
||||
optframe:SetScript("OnShow", function() AtlasLoot_OptionsOnShow() end);
|
||||
local optframe = CreateFrame("Frame", "AtlasLootOptionsFrame")
|
||||
optframe:Hide()
|
||||
optframe:SetSize(425,405)
|
||||
optframe:SetPoint("CENTER")
|
||||
optframe.title = optframe:CreateFontString("AtlasLoot_OptionsTitle", "OVERLAY", "GameFontHighlightLarge")
|
||||
optframe.title:SetJustifyH("CENTER")
|
||||
optframe.title:SetSize(400,30)
|
||||
optframe.title:SetPoint("TOP", "AtlasLootOptionsFrame","TOP")
|
||||
optframe.title:SetText(self.Version)
|
||||
optframe:SetScript("OnShow", function() self:OptionsOnShow() end)
|
||||
|
||||
local deftt = CreateFrame("CheckButton", "AtlasLootOptionsFrameDefaultTT", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
deftt:SetPoint("TOPLEFT",5,-40);
|
||||
AtlasLootOptionsFrameDefaultTTText:SetText(AL["Default Tooltips"]);
|
||||
deftt:SetScript("OnClick", function() AtlasLootOptions_DefaultTTToggle() end);
|
||||
local opaque = CreateFrame("CheckButton", "AtlasLootOptionsFrameOpaque", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
|
||||
opaque:SetPoint("TOPLEFT",5,-40)
|
||||
AtlasLootOptionsFrameOpaqueText:SetText(AL["Make Loot Table Opaque"])
|
||||
opaque:SetScript("OnClick", function() self:OptionsOpaqueToggle() end)
|
||||
|
||||
local lootlnk = CreateFrame("CheckButton", "AtlasLootOptionsFrameLootlinkTT", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
lootlnk:SetPoint("TOPLEFT",5,-70);
|
||||
AtlasLootOptionsFrameLootlinkTTText:SetText(AL["Lootlink Tooltips"]);
|
||||
lootlnk:SetScript("OnClick", function() AtlasLootOptions_LootlinkTTToggle() end);
|
||||
local autoInstance = CreateFrame("CheckButton", "AtlasLootOptionsFrameAutoInstance", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
|
||||
autoInstance:SetPoint("TOPLEFT",5,-70)
|
||||
AtlasLootOptionsFrameAutoInstanceText:SetText(AL["Auto Load Instance Loot Pages"])
|
||||
autoInstance:SetScript("OnClick", function() self:Options_AutoInstanceToggle() end)
|
||||
|
||||
local itemsync = CreateFrame("CheckButton", "AtlasLootOptionsFrameItemSyncTT", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
itemsync:SetPoint("TOPLEFT",5,-100);
|
||||
AtlasLootOptionsFrameItemSyncTTText:SetText(AL["ItemSync Tooltips"]);
|
||||
itemsync:SetScript("OnClick", function() AtlasLootOptions_ItemSyncTTToggle() end);
|
||||
local craftingInfo = CreateFrame("CheckButton", "AtlasLootOptionsFrameCraftingInfo", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
|
||||
craftingInfo:SetPoint("TOPLEFT",5,-100)
|
||||
AtlasLootOptionsFrameCraftingInfoText:SetText(AL["Only show crafting source while colding CTRL"])
|
||||
craftingInfo:SetScript("OnClick", function() self.db.profile.recipeExtraInfoSwitch = not self.db.profile.recipeExtraInfoSwitch end)
|
||||
|
||||
local opaque = CreateFrame("CheckButton", "AtlasLootOptionsFrameOpaque", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
opaque:SetPoint("TOPLEFT",5,-130);
|
||||
AtlasLootOptionsFrameOpaqueText:SetText(AL["Make Loot Table Opaque"]);
|
||||
opaque:SetScript("OnClick", function() AtlasLootOptions_OpaqueToggle() end);
|
||||
local itemid = CreateFrame("CheckButton", "AtlasLootOptionsFrameItemID", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
|
||||
itemid:SetPoint("TOP",5,-70)
|
||||
AtlasLootOptionsFrameItemIDText:SetText(AL["Show itemIDs at all times"])
|
||||
itemid:SetScript("OnClick", function() self:OptionsItemIDToggle() end)
|
||||
|
||||
local autoInstance = CreateFrame("CheckButton", "AtlasLootOptionsFrameAutoInstance", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
autoInstance:SetPoint("TOPLEFT",5,-160);
|
||||
AtlasLootOptionsFrameAutoInstanceText:SetText(AL["Auto Load Instance Loot Pages"]);
|
||||
autoInstance:SetScript("OnClick", function() AtlasLoot:Options_AutoInstanceToggle() end);
|
||||
local miniMap = CreateFrame("CheckButton", "AtlasLootOptionsMinimapIcon", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
|
||||
miniMap:SetPoint("TOP",5,-100)
|
||||
AtlasLootOptionsMinimapIconText:SetText(AL["Hide minimap icon"])
|
||||
miniMap:SetScript("OnClick", function() self:ToggleMinimap() end)
|
||||
|
||||
local itemid = CreateFrame("CheckButton", "AtlasLootOptionsFrameItemID", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
itemid:SetPoint("TOP",5,-130);
|
||||
AtlasLootOptionsFrameItemIDText:SetText(AL["Show itemIDs at all times"]);
|
||||
itemid:SetScript("OnClick", function() AtlasLootOptions_ItemIDToggle() end);
|
||||
local equip = CreateFrame("CheckButton", "AtlasLootOptionsFrameEquipCompare", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate")
|
||||
equip:SetPoint("TOP",5,-40)
|
||||
AtlasLootOptionsFrameEquipCompareText:SetText(AL["Show Comparison Tooltips"])
|
||||
equip:SetScript("OnClick", function() self.db.profile.EquipCompare = not self.db.profile.EquipCompare end)
|
||||
|
||||
local lod = CreateFrame("CheckButton", "AtlasLootOptionsFrameLoDStartup", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
lod:SetPoint("TOP",5,-40);
|
||||
AtlasLootOptionsFrameLoDStartupText:SetText(AL["Load Loot Modules at Startup"]);
|
||||
lod:SetScript("OnClick", function() AtlasLootOptions_LoDStartup() end);
|
||||
local sStyle = CreateFrame("Button", "AtlasLoot_SelectLootBrowserStyle", AtlasLootOptionsFrame, "UIDropDownMenuTemplate")
|
||||
sStyle.lable = sStyle:CreateFontString("AtlasLoot_SelectLootBrowserStyle_Label", "BACKGROUND", "GameFontNormalSmall")
|
||||
sStyle.lable:SetPoint("LEFT", "AtlasLoot_SelectLootBrowserStyle", "RIGHT",5,2)
|
||||
sStyle:SetPoint("TOPLEFT",-10,-220)
|
||||
|
||||
local safe = CreateFrame("CheckButton", "AtlasLootOptionsFrameSafeLinks", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
safe:SetPoint("TOP",5,-70);
|
||||
AtlasLootOptionsFrameSafeLinksText:SetText(AL["Safe Chat Links"]);
|
||||
safe:SetScript("OnClick", function() AtlasLootOptions_SafeLinksToggle() end);
|
||||
local bscale = CreateFrame("Slider", "AtlasLootOptionsFrameLootBrowserScale", AtlasLootOptionsFrame,"OptionsSliderTemplate")
|
||||
bscale:SetSize(240,16)
|
||||
bscale:SetPoint("TOP", 0,-300)
|
||||
bscale:SetScript("OnShow", function() self:SetupLootBrowserSlider(bscale, 0.25, 1.5, 0.01) end)
|
||||
bscale:SetScript("OnValueChanged", function()
|
||||
self:UpdateLootBrowserSlider(bscale)
|
||||
self.db.profile.LootBrowserScale = bscale:GetValue()
|
||||
self:UpdateLootBrowserScale()
|
||||
end)
|
||||
|
||||
local equip = CreateFrame("CheckButton", "AtlasLootOptionsFrameEquipCompare", AtlasLootOptionsFrame, "OptionsCheckButtonTemplate");
|
||||
equip:SetPoint("TOP",5,-100);
|
||||
AtlasLootOptionsFrameEquipCompareText:SetText(AL["Show Comparison Tooltips"]);
|
||||
equip:SetScript("OnClick", function()
|
||||
if(AtlasLoot.db.profile.EquipCompare) then
|
||||
AtlasLoot.db.profile.EquipCompare = false;
|
||||
if (EquipCompare_UnregisterTooltip) then
|
||||
EquipCompare_UnregisterTooltip(AtlasLootTooltip);
|
||||
end
|
||||
else
|
||||
AtlasLoot.db.profile.EquipCompare = true;
|
||||
if (EquipCompare_RegisterTooltip) then
|
||||
EquipCompare_RegisterTooltip(AtlasLootTooltip);
|
||||
end
|
||||
end
|
||||
end);
|
||||
local resetwish = CreateFrame("Button", "AtlasLootOptionsFrame_ResetWishlist", AtlasLootOptionsFrame, "OptionsButtonTemplate")
|
||||
resetwish:SetSize(130,25)
|
||||
resetwish:SetPoint("TOP", 0, -325)
|
||||
resetwish:SetText(AL["Reset Wishlist"])
|
||||
resetwish:SetScript("OnClick", function() self:Reset("wishlist") end)
|
||||
resetwish:SetScript("OnShow", function() resetwish:SetWidth(AtlasLootOptionsFrame_ResetWishlist:GetTextWidth()+20) end)
|
||||
|
||||
local sStyle = CreateFrame("Button", "AtlasLoot_SelectLootBrowserStyle", AtlasLootOptionsFrame, "UIDropDownMenuTemplate");
|
||||
sStyle.lable = sStyle:CreateFontString("AtlasLoot_SelectLootBrowserStyle_Label", "BACKGROUND", "GameFontNormalSmall");
|
||||
sStyle.lable:SetPoint("RIGHT", "AtlasLoot_SelectLootBrowserStyle", "LEFT",15,2);
|
||||
sStyle:SetPoint("TOP",30,-220);
|
||||
|
||||
local bscale = CreateFrame("Slider", "AtlasLootOptionsFrameLootBrowserScale", AtlasLootOptionsFrame,"OptionsSliderTemplate");
|
||||
bscale:SetSize(240,16);
|
||||
bscale:SetPoint("TOP", 0,-300);
|
||||
bscale:SetScript("OnShow", function(self) AtlasLoot_SetupLootBrowserSlider(self, 0.25, 1.5, 0.01) end);
|
||||
bscale:SetScript("OnValueChanged", function(self)
|
||||
AtlasLoot_UpdateLootBrowserSlider(self);
|
||||
AtlasLoot.db.profile.LootBrowserScale = self:GetValue();
|
||||
AtlasLoot_UpdateLootBrowserScale();
|
||||
end);
|
||||
|
||||
local resetwish = CreateFrame("Button", "AtlasLootOptionsFrame_ResetWishlist", AtlasLootOptionsFrame, "OptionsButtonTemplate");
|
||||
resetwish:SetSize(130,25);
|
||||
resetwish:SetPoint("TOP", 0, -325);
|
||||
resetwish:SetText(AL["Reset Wishlist"]);
|
||||
resetwish:SetScript("OnClick", function() AtlasLoot_Reset("wishlist") end);
|
||||
resetwish:SetScript("OnShow", function() resetwish:SetWidth(AtlasLootOptionsFrame_ResetWishlist:GetTextWidth()+20) end);
|
||||
|
||||
local resetAtlas = CreateFrame("Button", "AtlasLootOptionsFrame_ResetAtlasLoot", AtlasLootOptionsFrame, "OptionsButtonTemplate");
|
||||
resetAtlas:SetSize(130,25);
|
||||
resetAtlas:SetText(AL["Reset Frames"]);
|
||||
resetAtlas:SetPoint("RIGHT", "AtlasLootOptionsFrame_ResetWishlist", "LEFT", -10, 0);
|
||||
resetAtlas:SetScript("OnClick", function() AtlasLoot_Reset("frames") end);
|
||||
local resetAtlas = CreateFrame("Button", "AtlasLootOptionsFrame_ResetAtlasLoot", AtlasLootOptionsFrame, "OptionsButtonTemplate")
|
||||
resetAtlas:SetSize(130,25)
|
||||
resetAtlas:SetText(AL["Reset Frames"])
|
||||
resetAtlas:SetPoint("RIGHT", "AtlasLootOptionsFrame_ResetWishlist", "LEFT", -10, 0)
|
||||
resetAtlas:SetScript("OnClick", function() self:Reset("frames") end)
|
||||
resetAtlas:SetScript("OnShow", function() resetAtlas:SetWidth(AtlasLootOptionsFrame_ResetAtlasLoot:GetTextWidth()+20) end)
|
||||
|
||||
local resetquick = CreateFrame("Button", "AtlasLootOptionsFrame_ResetQuicklooks", AtlasLootOptionsFrame, "OptionsButtonTemplate");
|
||||
resetquick:SetSize(130,25);
|
||||
resetquick:SetText(AL["Reset Quicklooks"]);
|
||||
resetquick:SetPoint("LEFT", "AtlasLootOptionsFrame_ResetWishlist", "RIGHT", 10, 0);
|
||||
resetquick:SetScript("OnClick", function() AtlasLoot_Reset("quicklooks") end);
|
||||
local resetquick = CreateFrame("Button", "AtlasLootOptionsFrame_ResetQuicklooks", AtlasLootOptionsFrame, "OptionsButtonTemplate")
|
||||
resetquick:SetSize(130,25)
|
||||
resetquick:SetText(AL["Reset Favorites"])
|
||||
resetquick:SetPoint("LEFT", "AtlasLootOptionsFrame_ResetWishlist", "RIGHT", 10, 0)
|
||||
resetquick:SetScript("OnClick", function() self:Reset("quicklooks") end)
|
||||
resetquick:SetScript("OnShow", function() resetquick:SetWidth(AtlasLootOptionsFrame_ResetQuicklooks:GetTextWidth()+20) end)
|
||||
|
||||
local fooshow = CreateFrame("Button", "AtlasLootOptionsFrame_FuBarShow", AtlasLootOptionsFrame, "OptionsButtonTemplate");
|
||||
fooshow:SetSize(150,25);
|
||||
fooshow:SetText(AL["Show FuBar Plugin"]);
|
||||
fooshow:SetPoint("TOP", "AtlasLootOptionsFrame", "TOP", -85, -390);
|
||||
fooshow:SetScript("OnClick", function()
|
||||
if AtlasLootFu then
|
||||
AtlasLootFu:Show();
|
||||
end
|
||||
end);
|
||||
end
|
||||
|
||||
local foohide = CreateFrame("Button", "AtlasLootOptionsFrame_FuBarHide", AtlasLootOptionsFrame, "OptionsButtonTemplate");
|
||||
foohide:SetSize(150,25);
|
||||
foohide:SetText(AL["Hide FuBar Plugin"]);
|
||||
foohide:SetPoint("TOP", "AtlasLootOptionsFrame", "TOP", 85, -390);
|
||||
foohide:SetScript("OnClick", function()
|
||||
if AtlasLootFu then
|
||||
AtlasLootFu:Hide();
|
||||
end
|
||||
end);
|
||||
AtlasLoot:CreateOptionsFrame()
|
||||
+206
-182
@@ -1,18 +1,14 @@
|
||||
local GREY = "|cff999999";
|
||||
local RED = "|cffff0000";
|
||||
local WHITE = "|cffFFFFFF";
|
||||
local GREEN = "|cff1eff00";
|
||||
local PURPLE = "|cff9F3FFF";
|
||||
local BLUE = "|cff0070dd";
|
||||
local ORANGE = "|cffFF8400";
|
||||
local RED = "|cffff0000"
|
||||
local WHITE = "|cffFFFFFF"
|
||||
local GREEN = "|cff1eff00"
|
||||
local ORANGE = "|cffFF8400"
|
||||
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local modules = {"AtlasLoot_BurningCrusade", "AtlasLoot_Vanity", "AtlasLoot_Crafting", "AtlasLoot_OriginalWoW", "AtlasLoot_WorldEvents", "AtlasLoot_WrathoftheLichKing"};
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
-- Supported Operators
|
||||
local OP_AND = "&"
|
||||
-- multi-character patterns must come before single-character patterns
|
||||
local RELATIONAL_OPERATORS = {">=", "<=", "<>", "<", ">", "="};
|
||||
local RELATIONAL_OPERATORS = {">=", "<=", "<>", "<", ">", "="}
|
||||
|
||||
-- Supported Stat Filters
|
||||
local STAT_FILTERS = {
|
||||
@@ -82,9 +78,6 @@ local STAT_FILTERS = {
|
||||
["armourpen"] = "ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT",
|
||||
["arp"] = "ITEM_MOD_ARMOR_PENETRATION_RATING_SHORT",
|
||||
|
||||
["expertise"] = "ITEM_MOD_EXPERTISE_RATING_SHORT",
|
||||
["exp"] = "ITEM_MOD_EXPERTISE_RATING_SHORT",
|
||||
|
||||
["dps"] = "ITEM_MOD_DAMAGE_PER_SECOND_SHORT",
|
||||
|
||||
["resilience"] = "ITEM_MOD_RESILIENCE_RATING",
|
||||
@@ -133,23 +126,23 @@ local STAT_FILTERS = {
|
||||
["resistancearcane"] = "RESISTANCE6_NAME",
|
||||
["resarcane"] = "RESISTANCE6_NAME",
|
||||
["resarc"] = "RESISTANCE6_NAME"
|
||||
};
|
||||
}
|
||||
|
||||
local SOCKET_FILTERS = {
|
||||
["socket"] = true,
|
||||
["sockets"] = true,
|
||||
["gem"] = true,
|
||||
["gems"] = true
|
||||
};
|
||||
}
|
||||
|
||||
local SOCKET_TYPES = {"EMPTY_SOCKET_BLUE", "EMPTY_SOCKET_RED", "EMPTY_SOCKET_YELLOW", "EMPTY_SOCKET_META", "EMPTY_SOCKET_NO_COLOR"};
|
||||
local SOCKET_TYPES = {"EMPTY_SOCKET_BLUE", "EMPTY_SOCKET_RED", "EMPTY_SOCKET_YELLOW", "EMPTY_SOCKET_META", "EMPTY_SOCKET_NO_COLOR"}
|
||||
|
||||
local INFO_FILTERS = {
|
||||
["ilvl"] = true,
|
||||
["minlvl"] = true
|
||||
-- ["type"] = true,
|
||||
-- ["subtype"] = true,
|
||||
};
|
||||
}
|
||||
|
||||
local QUALITY_FILTERS = {
|
||||
["poor"] = 0,
|
||||
@@ -160,7 +153,7 @@ local QUALITY_FILTERS = {
|
||||
["legendary"] = 5,
|
||||
["artifact"] = 6,
|
||||
["heirloom"] = 7
|
||||
};
|
||||
}
|
||||
|
||||
local SLOT_FILTERS = {
|
||||
["none"] = "INVTYPE_NON_EQUIP",
|
||||
@@ -195,7 +188,7 @@ local SLOT_FILTERS = {
|
||||
["rangedright"] = "INVTYPE_RANGEDRIGHT",
|
||||
["quiver"] = "INVTYPE_QUIVER",
|
||||
["relic"] = "INVTYPE_RELIC"
|
||||
};
|
||||
}
|
||||
|
||||
local TYPE_FILTERS = {
|
||||
["cloth"] = "Cloth",
|
||||
@@ -236,9 +229,9 @@ local NON_EQUIPABLE_SLOTS = {
|
||||
["INVTYPE_BAG"] = true,
|
||||
["INVTYPE_AMMO"] = true,
|
||||
["INVTYPE_QUIVER"] = true
|
||||
};
|
||||
}
|
||||
|
||||
SLASH_ATLASLOOTHELP1 = "/atlasloothelp";
|
||||
SLASH_ATLASLOOTHELP1 = "/atlasloothelp"
|
||||
SlashCmdList["ATLASLOOTHELP"] = function(msg, editBox)
|
||||
local function show(caption, t)
|
||||
local keys = {}
|
||||
@@ -260,13 +253,13 @@ SlashCmdList["ATLASLOOTHELP"] = function(msg, editBox)
|
||||
print("gladiator")
|
||||
print("str>40")
|
||||
print("gladiator&str>40")
|
||||
print("str>40&ilvl>=120&ilvl<140&int>0&socket>2");
|
||||
print("sp>20&quality>=rare&quality<legendary&slot=finger");
|
||||
print("str>40&ilvl>=120&ilvl<140&int>0&socket>2")
|
||||
print("sp>20&quality>=rare&quality<legendary&slot=finger")
|
||||
print("stam>20&minlvl<=50")
|
||||
end
|
||||
|
||||
SLASH_ATLASLOOTSEARCH1 = "/atlaslootsearch";
|
||||
SLASH_ATLASLOOTSEARCH2 = "/als";
|
||||
SLASH_ATLASLOOTSEARCH1 = "/atlaslootsearch"
|
||||
SLASH_ATLASLOOTSEARCH2 = "/als"
|
||||
SlashCmdList["ATLASLOOTSEARCH"] = function(search, editBox)
|
||||
AtlasLootDefaultFrame:Show()
|
||||
if search and search ~= '' then
|
||||
@@ -327,7 +320,7 @@ local function IsItemLevelFilterMatch(term, itemLvl)
|
||||
return
|
||||
end
|
||||
|
||||
local searchedValue = tonumber(term.right);
|
||||
local searchedValue = tonumber(term.right)
|
||||
if not searchedValue then
|
||||
ThrowQueryError("ilvl search requires a numeric argument")
|
||||
end
|
||||
@@ -358,11 +351,11 @@ local function IsItemSocketMatch(term, stats)
|
||||
ThrowQueryError("'%s' requires a numeric argument", term.left)
|
||||
end
|
||||
|
||||
local socketCount = 0;
|
||||
local socketCount = 0
|
||||
for _, socketType in pairs(SOCKET_TYPES) do
|
||||
local statValue = tonumber(stats[socketType]);
|
||||
local statValue = tonumber(stats[socketType])
|
||||
if statValue then
|
||||
socketCount = socketCount + statValue;
|
||||
socketCount = socketCount + statValue
|
||||
end
|
||||
end
|
||||
|
||||
@@ -374,7 +367,7 @@ local function IsMinLevelFilterMatch(term, minLvl)
|
||||
return
|
||||
end
|
||||
|
||||
local searchedValue = tonumber(term.right);
|
||||
local searchedValue = tonumber(term.right)
|
||||
if not searchedValue then
|
||||
ThrowQueryError("minlvl search requires a numeric argument")
|
||||
end
|
||||
@@ -413,14 +406,14 @@ local function IsItemTypeMatch(term, itemEquipType)
|
||||
ThrowQueryError("unrecognized type name: \"%s\"", term.right)
|
||||
end
|
||||
|
||||
return type == itemEquipType;
|
||||
return type == itemEquipType
|
||||
end
|
||||
|
||||
local function nameMatches(name, searchText)
|
||||
if AtlasLoot.db.profile.PartialMatching then
|
||||
return string.find(string.lower(name), string.lower(searchText));
|
||||
function AtlasLoot:NameMatches(name, searchText)
|
||||
if self.db.profile.PartialMatching then
|
||||
return string.find(string.lower(name), string.lower(searchText))
|
||||
else
|
||||
return string.lower(name) == string.lower(searchText);
|
||||
return string.lower(name) == string.lower(searchText)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -502,9 +495,6 @@ local RelationalFunctions = {
|
||||
["armourpen"] = {IsItemStatMatch, 7},
|
||||
["arp"] = {IsItemStatMatch, 7},
|
||||
|
||||
["expertise"] = {IsItemStatMatch, 7},
|
||||
["exp"] = {IsItemStatMatch, 7},
|
||||
|
||||
["dps"] = {IsItemStatMatch, 7},
|
||||
|
||||
["resilience"] = {IsItemStatMatch, 7},
|
||||
@@ -556,30 +546,26 @@ local RelationalFunctions = {
|
||||
|
||||
}
|
||||
|
||||
local function ItemMatchesTerm(term, itemDetails)
|
||||
function AtlasLoot:ItemMatchesTerm(term, itemDetails)
|
||||
if term.relational then
|
||||
local func, arg = unpack(RelationalFunctions[term.left]);
|
||||
local func, arg = unpack(RelationalFunctions[term.left])
|
||||
if func then
|
||||
return func(term, itemDetails[arg]);
|
||||
return func(term, itemDetails[arg])
|
||||
end
|
||||
return false;
|
||||
return false
|
||||
else
|
||||
return nameMatches(itemDetails[1], term.name);
|
||||
return self:NameMatches(itemDetails[1], term.name)
|
||||
end
|
||||
end
|
||||
|
||||
local function ItemMatchesAllTerms(searchTerms, itemDetails)
|
||||
local function IsItemEquipableMatch(itemEquipLoc)
|
||||
return not AtlasLoot.db.profile.EquipableFilter or ((itemEquipLoc and itemEquipLoc ~= '' and not NON_EQUIPABLE_SLOTS[itemEquipLoc]))
|
||||
end
|
||||
|
||||
function AtlasLoot:ItemMatchesAllTerms(searchTerms, itemDetails)
|
||||
for _, term in ipairs(searchTerms) do
|
||||
if not ItemMatchesTerm(term, itemDetails) then
|
||||
if not self:ItemMatchesTerm(term, itemDetails) then
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
return true and IsItemEquipableMatch(itemDetails[5])
|
||||
return true
|
||||
end
|
||||
|
||||
local function ParseTerm(termText)
|
||||
@@ -603,193 +589,231 @@ end
|
||||
local function ParseQuery(searchText)
|
||||
local terms = {}
|
||||
for _, term in pairs(SplitString(searchText, OP_AND)) do
|
||||
table.insert(terms, ParseTerm(term));
|
||||
table.insert(terms, ParseTerm(term))
|
||||
end
|
||||
return terms
|
||||
end
|
||||
|
||||
local function GetSpellName(itemId, atlasName)
|
||||
local spellName = GetSpellInfo(string.sub(itemId, 2));
|
||||
if spellName then
|
||||
return spellName
|
||||
elseif (string.sub(atlasName, 1, 2) == "=d") then
|
||||
return gsub(atlasName, "=ds=", "");
|
||||
else
|
||||
return gsub(atlasName, "=q%d=", "");
|
||||
function AtlasLoot:GetItemDetails(itemId)
|
||||
-- Name, Link, Quality(num), iLvl(num), minLvl(num), itemType(localized string), itemSubType(localized string), stackCount(num), itemEquipLoc(enum), texture(link to a local file), displayId(num)
|
||||
local itemName, _, itemQuality, itemLvl, minLvl, _, itemSubType, _, itemEquipLoc = GetItemInfo(itemId)
|
||||
return itemName, itemQuality, itemLvl, minLvl, itemEquipLoc, itemSubType, GetItemStats("item:" .. itemId)
|
||||
end
|
||||
|
||||
local count = 0
|
||||
local tablenum = 1
|
||||
|
||||
function AtlasLoot:AddItemToSearchResult(item, dataSource, dataID, tableNum)
|
||||
if AtlasLootCharDB["SearchResult"][tablenum] == nil then
|
||||
AtlasLootCharDB["SearchResult"][tablenum] = {Name = "Page "..tablenum}
|
||||
end
|
||||
local tableCopy = self:CloneTable(item)
|
||||
tinsert(AtlasLootCharDB["SearchResult"][tablenum], tableCopy)
|
||||
local tNum = #AtlasLootCharDB["SearchResult"][tablenum]
|
||||
AtlasLootCharDB["SearchResult"][tablenum][tNum].lootTable = {{dataID, dataSource, tableNum}, "Source"}
|
||||
AtlasLootCharDB["SearchResult"][tablenum][tNum][1] = (count % 30) + 1
|
||||
count = count + 1
|
||||
if (count) % 30 == 0 then
|
||||
tablenum = tablenum + 1
|
||||
end
|
||||
end
|
||||
|
||||
local function DoSearch(searchText)
|
||||
AtlasLootCharDB["SearchResult"] = {Name = "Search Result" , Type = "Search", Back = true};
|
||||
AtlasLootCharDB.LastSearchedText = searchText;
|
||||
local count = 0;
|
||||
local tablenum = 1;
|
||||
|
||||
local searchTerms = ParseQuery(searchText);
|
||||
local equipableFilterOn = AtlasLoot.db.profile.EquipableFilter;
|
||||
|
||||
local function GetItemDetails(itemId, atlasName)
|
||||
-- Name, Link, Quality(num), iLvl(num), minLvl(num), itemType(localized string), itemSubType(localized string), stackCount(num), itemEquipLoc(enum), texture(link to a local file), displayId(num)
|
||||
local itemName, _, itemQuality, itemLvl, minLvl, _, itemSubType, _, itemEquipLoc = GetItemInfo(itemId);
|
||||
if not itemName then
|
||||
itemName = gsub(atlasName, "=q%d=", "")
|
||||
end
|
||||
return itemName, itemQuality, itemLvl, minLvl, itemEquipLoc, itemSubType, GetItemStats("item:" .. itemId)
|
||||
end
|
||||
|
||||
local function AddItemToSearchResult(itemId, itemType, itemName, dataID, itemIdBackup, difCap, dataPage)
|
||||
local lootPage = AtlasLoot_Data[dataID].Name or "Argh!";
|
||||
if AtlasLootCharDB["SearchResult"][tablenum] == nil then
|
||||
AtlasLootCharDB["SearchResult"][tablenum] = {Name = "Page "..tablenum};
|
||||
end
|
||||
table.insert(AtlasLootCharDB["SearchResult"][tablenum], {(count % 30) + 1, itemId, itemType, itemName, lootPage, "", "", dataID .. "|" .. "AtlasLoot_Data" .. "|" .. tostring(dataPage), itemIdBackup, [AtlasLoot_Difficulty.MAX_DIF] = difCap});
|
||||
count = count + 1;
|
||||
if (count) % 30 == 0 then
|
||||
tablenum = tablenum + 1;
|
||||
end
|
||||
end
|
||||
|
||||
for dataID, data in pairs(AtlasLoot_Data) do
|
||||
for dataPage, t in ipairs(data) do
|
||||
for _, v in ipairs(t) do
|
||||
if type(v) == "table" then
|
||||
local _, itemId, itemType, atlasName = unpack(v)
|
||||
if type(itemId) == "number" and itemId > 0 then
|
||||
local itemIdBackup = itemId;
|
||||
if #searchTerms == 1 and searchTerms[1].name then
|
||||
if nameMatches(atlasName, searchTerms[1].name) then
|
||||
AddItemToSearchResult(itemId, itemType, atlasName, dataID, itemIdBackup, AtlasLoot_Difficulty:getMaxDifficulty(data.Type), dataPage);
|
||||
end
|
||||
local showSearch
|
||||
function AtlasLoot:ProcessItem(data)
|
||||
if not data then return end
|
||||
local itemData, dataID, tableNum, searchTerms, searchText = unpack(data)
|
||||
if type(itemData) == "table" then
|
||||
local itemID = itemData.itemID
|
||||
local spellID = itemData.spellID
|
||||
if spellID then
|
||||
self:ItemsLoading(-1)
|
||||
local spellName = GetSpellInfo(spellID)
|
||||
if self:NameMatches(spellName, searchText) then
|
||||
self:AddItemToSearchResult(itemData, "AtlasLoot_Data", dataID, tableNum)
|
||||
if not showSearch then
|
||||
self:ShowSearchResult()
|
||||
showSearch = true
|
||||
end
|
||||
self:ItemFrameRefresh()
|
||||
end
|
||||
elseif itemID then
|
||||
local item = Item:CreateFromID(itemID)
|
||||
if item then
|
||||
local function nextItem()
|
||||
self:ItemsLoading(-1)
|
||||
local itemDetails = {self:GetItemDetails(itemID)}
|
||||
if self:ItemMatchesAllTerms(searchTerms, itemDetails) then
|
||||
self:AddItemToSearchResult(itemData, "AtlasLoot_Data", dataID, tableNum)
|
||||
if not showSearch then
|
||||
self:ShowSearchResult()
|
||||
showSearch = true
|
||||
else
|
||||
local difficultyCap = min(AtlasLoot_Difficulty:getMaxDifficulty(data.Type), ItemindexID);
|
||||
itemId = AtlasLoot:FindId(itemId, difficultyCap, data.Type) or 2;
|
||||
|
||||
local item = Item:CreateFromID(itemId);
|
||||
|
||||
item:ContinueOnLoad(function()
|
||||
local itemDetails = {GetItemDetails(item.itemID, atlasName)};
|
||||
if ItemMatchesAllTerms(searchTerms, itemDetails) then
|
||||
AddItemToSearchResult(itemId, itemType, atlasName, dataID, itemIdBackup, AtlasLoot_Difficulty:getMaxDifficulty(data.Type), dataPage);
|
||||
end
|
||||
end)
|
||||
self:ItemFrameRefresh()
|
||||
end
|
||||
elseif not equipableFilterOn and itemId and itemId ~= "" and string.sub(itemId, 1, 1) == "s" then
|
||||
local spellName = GetSpellName(itemId, atlasName)
|
||||
if nameMatches(spellName, searchText) then
|
||||
spellName = string.sub(atlasName, 1, 4) .. spellName;
|
||||
AddItemToSearchResult(itemId, itemType, spellName, dataID, itemIdBackup, AtlasLoot_Difficulty:getMaxDifficulty(data.Type), dataPage);
|
||||
end
|
||||
end
|
||||
if not item:GetInfo() then
|
||||
item:ContinueOnLoad(function(itemID)
|
||||
nextItem()
|
||||
end)
|
||||
else
|
||||
nextItem()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local itemList = {}
|
||||
|
||||
function AtlasLoot:DoSearch(searchText)
|
||||
AtlasLootCharDB["SearchResult"] = {Name = "Search Result" , Type = "Search", Back = true}
|
||||
count = 0
|
||||
tablenum = 1
|
||||
showSearch = false
|
||||
|
||||
wipe(itemList)
|
||||
|
||||
local searchTerms = ParseQuery(searchText)
|
||||
for dataID, data in pairs(AtlasLoot_Data) do
|
||||
if self.db.profile.SearchOn.All or self.db.profile.SearchOn[data.Module] or (self.db.profile.SearchAscensionVanity and data.Module == "AtlasLoot_Ascension_Vanity") then
|
||||
for tableNum, t in ipairs(data) do
|
||||
for _, itemData in pairs(t) do
|
||||
if itemData.itemID or itemData.spellID then
|
||||
if data.Type then
|
||||
itemData.Type = data.Type
|
||||
if not itemData[self.Difficultys.MAX_DIF] then
|
||||
itemData[self.Difficultys.MAX_DIF] = #self.Difficultys[data.Type]
|
||||
end
|
||||
end
|
||||
tinsert(itemList, {{itemData, dataID, tableNum, searchTerms, searchText}})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- rate limit tied to half the current frame rate
|
||||
self:ItemsLoading(#itemList)
|
||||
local maxDuration = 500/GetFramerate()
|
||||
local startTime = debugprofilestop()
|
||||
local function continue()
|
||||
startTime = debugprofilestop()
|
||||
local task = tremove(itemList)
|
||||
while (task) do
|
||||
self:ProcessItem(task[1])
|
||||
if (debugprofilestop() - startTime > maxDuration) then
|
||||
Timer.After(0, continue)
|
||||
return
|
||||
end
|
||||
task = tremove(itemList)
|
||||
end
|
||||
end
|
||||
|
||||
return continue()
|
||||
end
|
||||
|
||||
function AtlasLoot:ShowSearchResult()
|
||||
AtlasLoot:ShowItemsFrame("SearchResult", "AtlasLootCharDB", 1);
|
||||
self:ShowItemsFrame("SearchResult", "AtlasLootCharDB", 1)
|
||||
end
|
||||
|
||||
function AtlasLoot:Search(Text)
|
||||
if not Text then
|
||||
function AtlasLoot:Search(text)
|
||||
if not text then
|
||||
return
|
||||
end
|
||||
Text = strtrim(Text);
|
||||
if Text == "" then
|
||||
text = strtrim(text)
|
||||
if text == "" then
|
||||
return
|
||||
end
|
||||
|
||||
if self.db.profile.SearchAscensionDB then
|
||||
return OpenAscensionDBURL("?search="..text)
|
||||
end
|
||||
|
||||
-- Decide if we need load all modules or just specified ones
|
||||
local allDisabled = not self.db.profile.SearchOn.All;
|
||||
local allDisabled = not self.db.profile.SearchOn.All
|
||||
if allDisabled then
|
||||
for _, module in ipairs(modules) do
|
||||
if self.db.profile.SearchOn[module] == true then
|
||||
allDisabled = false;
|
||||
for _, module in ipairs(self.dataModules) do
|
||||
if self.db.profile.SearchOn[module] == true or self.db.profile.SearchAscensionVanity then
|
||||
allDisabled = false
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
if allDisabled then
|
||||
DEFAULT_CHAT_FRAME:AddMessage(RED .. AL["AtlasLoot"] .. ": " .. WHITE .. AL["You don't have any module selected to search on."]);
|
||||
return;
|
||||
DEFAULT_CHAT_FRAME:AddMessage(RED .. AL["AtlasLoot"] .. ": " .. WHITE .. AL["You don't have any module selected to search on. Right click search to select modules the more selected the longer it will take to search"])
|
||||
return
|
||||
end
|
||||
if self.db.profile.SearchOn.All then
|
||||
AtlasLoot:LoadAllModules();
|
||||
self:LoadAllModules()
|
||||
else
|
||||
for k, v in pairs(self.db.profile.SearchOn) do
|
||||
if k ~= "All" and v == true and not IsAddOnLoaded(k) and LoadAddOn(k) and self.db.profile.LoDNotify then
|
||||
DEFAULT_CHAT_FRAME:AddMessage(GREEN .. AL["AtlasLoot"] .. ": " .. ORANGE .. k .. WHITE .. " " .. AL["sucessfully loaded."]);
|
||||
DEFAULT_CHAT_FRAME:AddMessage(GREEN .. AL["AtlasLoot"] .. ": " .. ORANGE .. k .. WHITE .. " " .. AL["sucessfully loaded."])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local success, message = pcall(DoSearch, Text)
|
||||
self:DoSearch(text)
|
||||
--local success, message = pcall(self:DoSearch, text)
|
||||
|
||||
if not success then
|
||||
message = message:match("[^:]+: (.*)") or message -- strip stack location
|
||||
DEFAULT_CHAT_FRAME:AddMessage(RED .. AL["AtlasLoot"] .. ": " .. WHITE .. message);
|
||||
elseif #AtlasLootCharDB["SearchResult"] == 0 then
|
||||
local itemFilterErrorMessage = "";
|
||||
if operator then
|
||||
itemFilterErrorMessage = [[
|
||||
Please check if you have a typo in the filter.
|
||||
For help, type "/atlasloothelp".
|
||||
You might also have to query the server for item informations to load them into your client's Cache.]];
|
||||
end
|
||||
DEFAULT_CHAT_FRAME:AddMessage(RED .. AL["AtlasLoot"] .. ": " .. WHITE .. AL["No match found for"] .. " \"" .. Text .. "\"." .. itemFilterErrorMessage);
|
||||
else
|
||||
AtlasLoot:ShowItemsFrame("SearchResult", "AtlasLootCharDB", 1);
|
||||
end
|
||||
-- if not success then
|
||||
-- message = message:match("[^:]+: (.*)") or message -- strip stack location
|
||||
-- DEFAULT_CHAT_FRAME:AddMessage(RED .. AL["AtlasLoot"] .. ": " .. WHITE .. message)
|
||||
-- elseif #AtlasLootCharDB["SearchResult"] == 0 then
|
||||
-- local itemFilterErrorMessage = ""
|
||||
-- if operator then
|
||||
-- itemFilterErrorMessage = [[
|
||||
-- Please check if you have a typo in the filter.
|
||||
-- For help, type "/atlasloothelp".
|
||||
-- You might also have to query the server for item informations to load them into your client's Cache.]]
|
||||
-- end
|
||||
-- DEFAULT_CHAT_FRAME:AddMessage(RED .. AL["AtlasLoot"] .. ": " .. WHITE .. AL["No match found for"] .. " \"" .. text .. "\"." .. itemFilterErrorMessage)
|
||||
-- else
|
||||
-- self:ShowItemsFrame("SearchResult", "AtlasLootCharDB", 1)
|
||||
-- end
|
||||
end
|
||||
|
||||
function AtlasLoot:ShowSearchOptions(button)
|
||||
local dewdrop = AceLibrary("Dewdrop-2.0");
|
||||
if dewdrop:IsOpen(button) then
|
||||
dewdrop:Close(1);
|
||||
if self.Dewdrop:IsOpen(button) then
|
||||
self.Dewdrop:Close(1)
|
||||
else
|
||||
local setOptions = function()
|
||||
dewdrop:AddLine("text", AL["Search on"], "isTitle", true, "notCheckable", true);
|
||||
dewdrop:AddLine("text", AL["All modules"], "checked", self.db.profile.SearchOn.All, "tooltipTitle", AL["All modules"], "tooltipText",
|
||||
self.Dewdrop:AddLine("text", AL["Search on"], "isTitle", true, "notCheckable", true)
|
||||
self.Dewdrop:AddLine("text", AL["All modules"], "checked", not self.db.profile.SearchAscensionDB and self.db.profile.SearchOn.All, "tooltipTitle", AL["All modules"], "tooltipText",
|
||||
AL["If checked, AtlasLoot will load and search across all the modules."], "func", function()
|
||||
self.db.profile.SearchOn.All = not self.db.profile.SearchOn.All;
|
||||
end);
|
||||
for _, module in ipairs(modules) do
|
||||
self.db.profile.SearchOn.All = not self.db.profile.SearchOn.All
|
||||
end)
|
||||
for _, module in ipairs(self.dataModules) do
|
||||
if IsAddOnLoadOnDemand(module) then
|
||||
local title = GetAddOnMetadata(module, "title");
|
||||
local notes = GetAddOnMetadata(module, "notes");
|
||||
dewdrop:AddLine("text", title, "checked", self.db.profile.SearchOn.All or self.db.profile.SearchOn[module], "disabled", self.db.profile.SearchOn.All, "tooltipTitle", title,
|
||||
local title = GetAddOnMetadata(module, "title")
|
||||
local notes = GetAddOnMetadata(module, "notes")
|
||||
self.Dewdrop:AddLine("text", title, "checked", not self.db.profile.SearchAscensionDB and self.db.profile.SearchOn.All or self.db.profile.SearchOn[module], "disabled", self.db.profile.SearchAscensionDB or self.db.profile.SearchOn.All, "tooltipTitle", title,
|
||||
"tooltipText", notes, "func", function()
|
||||
if self.db.profile.SearchOn[module] == nil then
|
||||
self.db.profile.SearchOn[module] = true;
|
||||
self.db.profile.SearchOn[module] = true
|
||||
else
|
||||
self.db.profile.SearchOn[module] = nil;
|
||||
self.db.profile.SearchOn[module] = nil
|
||||
end
|
||||
end);
|
||||
end)
|
||||
end
|
||||
end
|
||||
dewdrop:AddLine("text", AL["Search options"], "isTitle", true, "notCheckable", true);
|
||||
dewdrop:AddLine("text", AL["Partial matching"], "checked", self.db.profile.PartialMatching, "tooltipTitle", AL["Partial matching"], "tooltipText",
|
||||
AL["If checked, AtlasLoot search item names for a partial match."], "func", function()
|
||||
self.Dewdrop:AddLine("text", AL["Ascension Vanity Collection"], "checked", self.db.profile.SearchAscensionVanity, "tooltipTitle", AL["Ascension Vanity Collection"], "tooltipText",
|
||||
AL["If checked, AtlasLoot will search Ascension Vanity Collection"], "func", function()
|
||||
self.db.profile.SearchAscensionVanity = not self.db.profile.SearchAscensionVanity
|
||||
end)
|
||||
self.Dewdrop:AddLine("text", AL["Search options"], "isTitle", true, "notCheckable", true)
|
||||
self.Dewdrop:AddLine("text", AL["Partial matching"], "checked", self.db.profile.PartialMatching, "tooltipTitle", AL["Partial matching"], "tooltipText",
|
||||
AL["If checked, AtlasLoot search item names for a partial match."], "func", function()
|
||||
self.db.profile.PartialMatching = not self.db.profile.PartialMatching
|
||||
end);
|
||||
dewdrop:AddLine("text", "Only search equipable", -- TODO: put in AL
|
||||
"checked", self.db.profile.EquipableFilter, "tooltipTitle", "Equipable filter", -- TODO: put in AL
|
||||
"tooltipText", "If checked, AtlasLoot only includes items that are euipable.", -- TODO: put in AL
|
||||
"func", function()
|
||||
self.db.profile.EquipableFilter = not self.db.profile.EquipableFilter
|
||||
end);
|
||||
end;
|
||||
dewdrop:Open(button, 'point', function(parent)
|
||||
return "BOTTOMLEFT", "BOTTOMRIGHT";
|
||||
end, "children", setOptions);
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot:GetOriginalDataFromSearchResult(itemID)
|
||||
for i, v in ipairs(AtlasLootCharDB["SearchResult"]) do
|
||||
if v[2] == itemID then
|
||||
AtlasLoot_ShowWishListDropDown(v[2], v[3], v[4], v[5], v[8], this, nil);
|
||||
end)
|
||||
self.Dewdrop:AddLine("text", AL["Search AscensionDB"], "checked", self.db.profile.SearchAscensionDB, "tooltipTitle", AL["Partial matching"], "tooltipText",
|
||||
AL["If checked, AtlasLoot will open a browser window and search AscensionDB"], "func", function()
|
||||
self.db.profile.SearchAscensionDB = not self.db.profile.SearchAscensionDB
|
||||
end)
|
||||
end
|
||||
self.Dewdrop:Open(button, 'point', function(parent)
|
||||
return "BOTTOMLEFT", "BOTTOMRIGHT"
|
||||
end, "children", setOptions)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
+215
-221
@@ -1,70 +1,57 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
AtlasLoot_QualityMenu = AceLibrary("Dewdrop-2.0");
|
||||
AtlasLoot_DifficultyMenu = AceLibrary("Dewdrop-2.0");
|
||||
AtlasLoot_EquipMenu = AceLibrary("Dewdrop-2.0");
|
||||
AtlasLoot_EquipSubMenu = AceLibrary("Dewdrop-2.0");
|
||||
local MAX_ARGUMENTS = 6
|
||||
local ACTIVE_ARGUMENT = 0
|
||||
|
||||
local MAX_ARGUMENTS = 6;
|
||||
local ACTIVE_ARGUMENT = 0;
|
||||
AtlasLoot.SearchMenus = { ArgumentMenus = {}, ArgumentSubMenus = {}}
|
||||
|
||||
AtlasLoot_ArgumentMenus = {};
|
||||
AtlasLoot_ArgumentSubMenus = {};
|
||||
local RED = "|cffff0000"
|
||||
|
||||
local GREY = "|cff999999";
|
||||
local RED = "|cffff0000";
|
||||
local WHITE = "|cffFFFFFF";
|
||||
local GREEN = "|cff1eff00";
|
||||
local PURPLE = "|cff9F3FFF";
|
||||
local BLUE = "|cff0070dd";
|
||||
local ORANGE = "|cffFF8400";
|
||||
local DEFAULT = "|cffFFd200";
|
||||
|
||||
AtlasLoot_FrameMenuList = {
|
||||
["EquipSubMenu"] = {AtlasLoot_EquipSubMenu, "AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton", "Select Option", "type", ""}
|
||||
local FrameMenuList = {
|
||||
["EquipSubMenu"] = {AtlasLoot.Dewdrop, "AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton", "Select Option", "type", ""}
|
||||
}
|
||||
|
||||
AtlasLoot_AdvancedSearchMenus = {
|
||||
local AdvancedSearchMenus = {
|
||||
["Difficulty"] = {
|
||||
[1] = {{"Normal", "difficulty", AtlasLoot_Difficulty.Normal}},
|
||||
[2] = {{"Heroic", "difficulty", AtlasLoot_Difficulty.Heroic}},
|
||||
[3] = {{"Mythic/Ascended", "difficulty", AtlasLoot_Difficulty.Mythic}},
|
||||
[1] = {{"Normal", "difficulty", AtlasLoot.Difficultys.Normal}},
|
||||
[2] = {{"Heroic", "difficulty", AtlasLoot.Difficultys.Heroic}},
|
||||
[3] = {{"Mythic/Ascended", "difficulty", AtlasLoot.Difficultys.Mythic}},
|
||||
[4] = {
|
||||
["Mythic+ 1-10"] = {{"Mythic 1", "difficulty", AtlasLoot_Difficulty.MythicPlus[1]}, {"Mythic 2", "difficulty", AtlasLoot_Difficulty.MythicPlus[2]},
|
||||
{"Mythic 3", "difficulty", AtlasLoot_Difficulty.MythicPlus[3]}, {"Mythic 4", "difficulty", AtlasLoot_Difficulty.MythicPlus[4]},
|
||||
{"Mythic 5", "difficulty", AtlasLoot_Difficulty.MythicPlus[5]}, {"Mythic 6", "difficulty", AtlasLoot_Difficulty.MythicPlus[6]},
|
||||
{"Mythic 7", "difficulty", AtlasLoot_Difficulty.MythicPlus[7]}, {"Mythic 8", "difficulty", AtlasLoot_Difficulty.MythicPlus[8]},
|
||||
{"Mythic 9", "difficulty", AtlasLoot_Difficulty.MythicPlus[9]}, {"Mythic 10", "difficulty", AtlasLoot_Difficulty.MythicPlus[10]}}
|
||||
["Mythic+ 1-10"] = {{"Mythic 1", "difficulty", AtlasLoot.Difficultys.MythicPlus[1]}, {"Mythic 2", "difficulty", AtlasLoot.Difficultys.MythicPlus[2]},
|
||||
{"Mythic 3", "difficulty", AtlasLoot.Difficultys.MythicPlus[3]}, {"Mythic 4", "difficulty", AtlasLoot.Difficultys.MythicPlus[4]},
|
||||
{"Mythic 5", "difficulty", AtlasLoot.Difficultys.MythicPlus[5]}, {"Mythic 6", "difficulty", AtlasLoot.Difficultys.MythicPlus[6]},
|
||||
{"Mythic 7", "difficulty", AtlasLoot.Difficultys.MythicPlus[7]}, {"Mythic 8", "difficulty", AtlasLoot.Difficultys.MythicPlus[8]},
|
||||
{"Mythic 9", "difficulty", AtlasLoot.Difficultys.MythicPlus[9]}, {"Mythic 10", "difficulty", AtlasLoot.Difficultys.MythicPlus[10]}}
|
||||
},
|
||||
[5] = {
|
||||
["Mythic+ 11-20"] = {{"Mythic 11", "difficulty", AtlasLoot_Difficulty.MythicPlus[11]}, {"Mythic 12", "difficulty", AtlasLoot_Difficulty.MythicPlus[12]},
|
||||
{"Mythic 13", "difficulty", AtlasLoot_Difficulty.MythicPlus[13]}, {"Mythic 14", "difficulty", AtlasLoot_Difficulty.MythicPlus[14]},
|
||||
{"Mythic 15", "difficulty", AtlasLoot_Difficulty.MythicPlus[15]}, {"Mythic 16", "difficulty", AtlasLoot_Difficulty.MythicPlus[16]},
|
||||
{"Mythic 17", "difficulty", AtlasLoot_Difficulty.MythicPlus[17]}, {"Mythic 18", "difficulty", AtlasLoot_Difficulty.MythicPlus[18]},
|
||||
{"Mythic 19", "difficulty", AtlasLoot_Difficulty.MythicPlus[19]}, {"Mythic 20", "difficulty", AtlasLoot_Difficulty.MythicPlus[20]}}
|
||||
["Mythic+ 11-20"] = {{"Mythic 11", "difficulty", AtlasLoot.Difficultys.MythicPlus[11]}, {"Mythic 12", "difficulty", AtlasLoot.Difficultys.MythicPlus[12]},
|
||||
{"Mythic 13", "difficulty", AtlasLoot.Difficultys.MythicPlus[13]}, {"Mythic 14", "difficulty", AtlasLoot.Difficultys.MythicPlus[14]},
|
||||
{"Mythic 15", "difficulty", AtlasLoot.Difficultys.MythicPlus[15]}, {"Mythic 16", "difficulty", AtlasLoot.Difficultys.MythicPlus[16]},
|
||||
{"Mythic 17", "difficulty", AtlasLoot.Difficultys.MythicPlus[17]}, {"Mythic 18", "difficulty", AtlasLoot.Difficultys.MythicPlus[18]},
|
||||
{"Mythic 19", "difficulty", AtlasLoot.Difficultys.MythicPlus[19]}, {"Mythic 20", "difficulty", AtlasLoot.Difficultys.MythicPlus[20]}}
|
||||
},
|
||||
[6] = {
|
||||
["Mythic+ 21-30"] = {{"Mythic 21", "difficulty", AtlasLoot_Difficulty.MythicPlus[21]}, {"Mythic 22", "difficulty", AtlasLoot_Difficulty.MythicPlus[22]},
|
||||
{"Mythic 23", "difficulty", AtlasLoot_Difficulty.MythicPlus[23]}, {"Mythic 24", "difficulty", AtlasLoot_Difficulty.MythicPlus[24]},
|
||||
{"Mythic 25", "difficulty", AtlasLoot_Difficulty.MythicPlus[25]}, {"Mythic 26", "difficulty", AtlasLoot_Difficulty.MythicPlus[26]},
|
||||
{"Mythic 27", "difficulty", AtlasLoot_Difficulty.MythicPlus[27]}, {"Mythic 28", "difficulty", AtlasLoot_Difficulty.MythicPlus[28]},
|
||||
{"Mythic 29", "difficulty", AtlasLoot_Difficulty.MythicPlus[29]}, {"Mythic 30", "difficulty", AtlasLoot_Difficulty.MythicPlus[30]}}
|
||||
["Mythic+ 21-30"] = {{"Mythic 21", "difficulty", AtlasLoot.Difficultys.MythicPlus[21]}, {"Mythic 22", "difficulty", AtlasLoot.Difficultys.MythicPlus[22]},
|
||||
{"Mythic 23", "difficulty", AtlasLoot.Difficultys.MythicPlus[23]}, {"Mythic 24", "difficulty", AtlasLoot.Difficultys.MythicPlus[24]},
|
||||
{"Mythic 25", "difficulty", AtlasLoot.Difficultys.MythicPlus[25]}, {"Mythic 26", "difficulty", AtlasLoot.Difficultys.MythicPlus[26]},
|
||||
{"Mythic 27", "difficulty", AtlasLoot.Difficultys.MythicPlus[27]}, {"Mythic 28", "difficulty", AtlasLoot.Difficultys.MythicPlus[28]},
|
||||
{"Mythic 29", "difficulty", AtlasLoot.Difficultys.MythicPlus[29]}, {"Mythic 30", "difficulty", AtlasLoot.Difficultys.MythicPlus[30]}}
|
||||
},
|
||||
[7] = {{"Bloodforged", "difficulty", AtlasLoot_Difficulty.Bloodforged}},
|
||||
[7] = {{"Bloodforged", "difficulty", AtlasLoot.Difficultys.Bloodforged}},
|
||||
[8] = {{RED .. "Reset", "difficulty", "reset"}}
|
||||
},
|
||||
|
||||
["Quality"] = {
|
||||
-- [1] = {
|
||||
-- {AtlasLoot_FixText("=q0=").."Poor", "quality", "poor"},
|
||||
-- {AtlasLoot:FixText("=q0=").."Poor", "quality", "poor"},
|
||||
-- },
|
||||
-- [2] = {
|
||||
-- {AtlasLoot_FixText("=q1=").."Common", "quality", "common"},
|
||||
-- {AtlasLoot:FixText("=q1=").."Common", "quality", "common"},
|
||||
-- },
|
||||
[1] = {{AtlasLoot_FixText("=q2=") .. "Uncommon", "quality", "uncommon"}},
|
||||
[2] = {{AtlasLoot_FixText("=q3=") .. "Rare", "quality", "rare"}},
|
||||
[3] = {{AtlasLoot_FixText("=q4=") .. "Epic", "quality", "epic"}},
|
||||
[4] = {{AtlasLoot_FixText("=q5=") .. "Legendary", "quality", "legendary"}},
|
||||
[1] = {{AtlasLoot:FixText("=q2=") .. "Uncommon", "quality", "uncommon"}},
|
||||
[2] = {{AtlasLoot:FixText("=q3=") .. "Rare", "quality", "rare"}},
|
||||
[3] = {{AtlasLoot:FixText("=q4=") .. "Epic", "quality", "epic"}},
|
||||
[4] = {{AtlasLoot:FixText("=q5=") .. "Legendary", "quality", "legendary"}},
|
||||
[5] = {{RED .. "Reset", "quality", "reset"}}
|
||||
},
|
||||
|
||||
@@ -137,13 +124,13 @@ AtlasLoot_AdvancedSearchMenus = {
|
||||
}
|
||||
}
|
||||
|
||||
AtlasLoot_AdvancedSearchArguments = {
|
||||
local AdvancedSearchArguments = {
|
||||
["Arguments"] = {
|
||||
[1] = {
|
||||
["Primary Stats"] = {{"Stamina", "sta"}, {"Strength", "str"}, {"Agility", "agi"}, {"Intellect", "int"}, {"Spirit", "spi"}}
|
||||
},
|
||||
[2] = {
|
||||
["Secondary Stats"] = {{"Attack Power", "ap"}, {"Spell Power", "sp"}, {"Crit", "crit"}, {"Hit", "hit"}, {"Haste", "haste"}, {"Expertise", "exp"}, {"Armor Pen", "arp"}, {"Spell Pen", "spp"}, {"Mana Per 5", "mp5"}}
|
||||
["Secondary Stats"] = {{"Attack Power", "ap"}, {"Spell Power", "sp"}, {"Crit", "crit"}, {"Hit", "hit"}, {"Haste", "haste"}, {"Armor Pen", "arp"}, {"Spell Pen", "spp"}, {"Mana Per 5", "mp5"}}
|
||||
},
|
||||
[3] = {
|
||||
["Defensive Stats"] = {{"Defense", "def"}, {"Dodge", "dodge"}, {"Parry", "parry"}, {"Block", "block"}, {"Block Value", "bv"}, {"Resilience", "res"}}
|
||||
@@ -173,74 +160,64 @@ AtlasLoot_AdvancedSearchArguments = {
|
||||
}
|
||||
}
|
||||
|
||||
AtlasLoot_AdvSearchOptions = {
|
||||
local AdvSearchOptions = {
|
||||
["quality"] = "",
|
||||
["equip"] = "",
|
||||
["type"] = "",
|
||||
["difficulty"] = ""
|
||||
}
|
||||
|
||||
function AtlasLoot_AdvancedSearchSetup()
|
||||
AtlasLoot_AdvancedSearchRegister(AtlasLoot_QualityMenu, AtlasLootDefaultFrame_AdvancedSearchPanel_QualityButton, AtlasLoot_AdvancedSearchMenus["Quality"]);
|
||||
AtlasLoot_AdvancedSearchRegister(AtlasLoot_EquipMenu, AtlasLootDefaultFrame_AdvancedSearchPanel_EquipButton, AtlasLoot_AdvancedSearchMenus["Equip"]);
|
||||
--AtlasLoot_AdvancedSearchRegister(AtlasLoot_DifficultyMenu, AtlasLootDefaultFrame_AdvancedSearchPanel_Difficulty, AtlasLoot_AdvancedSearchMenus["Difficulty"]);
|
||||
function AtlasLoot:AdvancedSearchSetup()
|
||||
self:AdvancedSearchRegister(self.Dewdrop, AtlasLootDefaultFrame_AdvancedSearchPanel_QualityButton, AdvancedSearchMenus["Quality"])
|
||||
self:AdvancedSearchRegister(self.Dewdrop, AtlasLootDefaultFrame_AdvancedSearchPanel_EquipButton, AdvancedSearchMenus["Equip"])
|
||||
|
||||
for n = 1, MAX_ARGUMENTS do
|
||||
AtlasLoot_ArgumentMenus[n] = AceLibrary("Dewdrop-2.0");
|
||||
AtlasLoot_ArgumentSubMenus[n] = AceLibrary("Dewdrop-2.0");
|
||||
self.SearchMenus.ArgumentMenus[n] = self.Dewdrop
|
||||
self.SearchMenus.ArgumentSubMenus[n] = self.Dewdrop
|
||||
|
||||
AtlasLoot_AdvancedSearchArgumentRegister(AtlasLoot_ArgumentMenus[n], _G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n)], tostring(n), AtlasLoot_AdvancedSearchArguments["Arguments"]);
|
||||
AtlasLoot_AdvancedSearchArgumentRegister(AtlasLoot_ArgumentSubMenus[n], _G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n) .. "Sub"], tostring(n),
|
||||
AtlasLoot_AdvancedSearchArguments["Operators"]);
|
||||
self:AdvancedSearchArgumentRegister(self.SearchMenus.ArgumentMenus[n], _G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n)], tostring(n), AdvancedSearchArguments["Arguments"])
|
||||
self:AdvancedSearchArgumentRegister(self.SearchMenus.ArgumentSubMenus[n], _G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n) .. "Sub"], tostring(n),
|
||||
AdvancedSearchArguments["Operators"])
|
||||
end
|
||||
|
||||
-- Reset Search options to defualt
|
||||
AtlasLoot_AdvancedSearchReset();
|
||||
self:AdvancedSearchReset()
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvancedSearchShow()
|
||||
function AtlasLoot:AdvancedSearchShow()
|
||||
if (AtlasLootDefaultFrame_AdvancedSearchPanel:IsVisible()) then
|
||||
AtlasLoot_AdvancedSearchClose();
|
||||
return;
|
||||
self:AdvancedSearchClose()
|
||||
return
|
||||
end
|
||||
|
||||
-- Hide all elements that could be in the AtlasTable
|
||||
_G["AtlasLootItemsFrame_NEXT"]:Hide();
|
||||
_G["AtlasLootItemsFrame_PREV"]:Hide();
|
||||
_G["AtlasLootItemsFrame_BACK"]:Hide();
|
||||
|
||||
-- Ditch the Quicklook selector
|
||||
AtlasLootQuickLooksButton:Hide();
|
||||
_G["AtlasLootItemsFrame_NEXT"]:Hide()
|
||||
_G["AtlasLootItemsFrame_PREV"]:Hide()
|
||||
_G["AtlasLootItemsFrame_BACK"]:Hide()
|
||||
|
||||
-- Hide the Filter Check-Box
|
||||
AtlasLootFilterCheck:Hide();
|
||||
AtlasLootFilterCheck:Hide()
|
||||
|
||||
for i = 1, 30, 1 do
|
||||
_G["AtlasLootItem_" .. i .. "_Unsafe"]:Hide();
|
||||
_G["AtlasLootItem_" .. i]:Hide();
|
||||
_G["AtlasLootItem_" .. i].itemID = 0;
|
||||
_G["AtlasLootItem_" .. i].spellitemID = 0;
|
||||
_G["AtlasLootItem_" .. i]:Hide()
|
||||
end
|
||||
|
||||
AtlasLoot_BossName:SetText("Advanced Search");
|
||||
AtlasLoot_BossName:SetText("Advanced Search")
|
||||
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel:Show();
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel:Show()
|
||||
|
||||
ATLASLOOT_CURRENTTYPE = "Search";
|
||||
AtlasLoot:ScrollFrameUpdate();
|
||||
AtlasLoot:SubTableScrollFrameUpdate("EmptyTable","AtlasLoot_Data");
|
||||
self.CurrentType = "Search"
|
||||
self:ScrollFrameUpdate()
|
||||
self:SubTableScrollFrameUpdate("EmptyTable","AtlasLoot_Data")
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvancedSearchClose()
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel:Hide();
|
||||
|
||||
if (SearchPrevData[1] ~= "") then
|
||||
AtlasLoot:ShowItemsFrame(SearchPrevData[1], SearchPrevData[2], SearchPrevData[3]);
|
||||
end
|
||||
function AtlasLoot:AdvancedSearchClose()
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel:Hide()
|
||||
self:ItemFrameRefresh()
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvancedSearchReset()
|
||||
AtlasLoot_AdvSearchOptions = {
|
||||
function AtlasLoot:AdvancedSearchReset()
|
||||
AdvSearchOptions = {
|
||||
["quality"] = "",
|
||||
["equip"] = "",
|
||||
["type"] = "",
|
||||
@@ -248,60 +225,60 @@ function AtlasLoot_AdvancedSearchReset()
|
||||
}
|
||||
|
||||
for i = 1, MAX_ARGUMENTS do
|
||||
AtlasLoot_AdvSearchOptions["arg" .. tostring(i)] = "";
|
||||
AtlasLoot_AdvSearchOptions["arg" .. tostring(i) .. "op"] = "";
|
||||
AdvSearchOptions["arg" .. tostring(i)] = ""
|
||||
AdvSearchOptions["arg" .. tostring(i) .. "op"] = ""
|
||||
|
||||
AtlasLoot_RemoveArgumentContainer();
|
||||
self:RemoveArgumentContainer()
|
||||
end
|
||||
|
||||
local expansionLevels = {60, 70, 80}
|
||||
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_LevelMin:SetText(expansionLevels[GetAccountExpansionLevel() + 1]);
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_LevelMax:SetText(expansionLevels[GetAccountExpansionLevel() + 1]);
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_iLevelMin:SetText("");
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_iLevelMax:SetText("");
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_LevelMin:SetText(expansionLevels[GetAccountExpansionLevel() + 1])
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_LevelMax:SetText(expansionLevels[GetAccountExpansionLevel() + 1])
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_iLevelMin:SetText("")
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_iLevelMax:SetText("")
|
||||
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_QualityButton:SetText("Select Quality");
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_QualityButton:SetText("Select Quality")
|
||||
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_EquipButton:SetText("Select Item Type");
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton:Disable();
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton:SetText("Select Option");
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_EquipButton:SetText("Select Item Type")
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton:Disable()
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton:SetText("Select Option")
|
||||
end
|
||||
|
||||
function AtlasLoot_AddArgumentContainer()
|
||||
function AtlasLoot:AddArgumentContainer()
|
||||
if ACTIVE_ARGUMENT == MAX_ARGUMENTS then
|
||||
AtlasLoot_AdvSearchArgButtonToggle()
|
||||
self:AdvSearchArgButtonToggle()
|
||||
return
|
||||
end
|
||||
|
||||
ACTIVE_ARGUMENT = ACTIVE_ARGUMENT + 1;
|
||||
ACTIVE_ARGUMENT = ACTIVE_ARGUMENT + 1
|
||||
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT)]:Show();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT)]:SetText("Select Option");
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Sub"]:Show();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT)]:Show()
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT)]:SetText("Select Option")
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Sub"]:Show()
|
||||
|
||||
AtlasLoot_AdvSearchArgButtonToggle()
|
||||
self:AdvSearchArgButtonToggle()
|
||||
end
|
||||
|
||||
function AtlasLoot_RemoveArgumentContainer()
|
||||
function AtlasLoot:RemoveArgumentContainer()
|
||||
if ACTIVE_ARGUMENT == 0 then
|
||||
AtlasLoot_AdvSearchArgButtonToggle()
|
||||
self:AdvSearchArgButtonToggle()
|
||||
return
|
||||
end
|
||||
|
||||
AtlasLoot_AdvSearchOptions["arg" .. tostring(ACTIVE_ARGUMENT)] = "";
|
||||
AtlasLoot_AdvSearchOptions["arg" .. tostring(ACTIVE_ARGUMENT) .. "op"] = "";
|
||||
AdvSearchOptions["arg" .. tostring(ACTIVE_ARGUMENT)] = ""
|
||||
AdvSearchOptions["arg" .. tostring(ACTIVE_ARGUMENT) .. "op"] = ""
|
||||
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT)]:Hide();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Sub"]:Disable();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Sub"]:Hide();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Value"]:Hide();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT)]:Hide()
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Sub"]:Disable()
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Sub"]:Hide()
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(ACTIVE_ARGUMENT) .. "Value"]:Hide()
|
||||
|
||||
ACTIVE_ARGUMENT = ACTIVE_ARGUMENT - 1;
|
||||
AtlasLoot_AdvSearchArgButtonToggle()
|
||||
ACTIVE_ARGUMENT = ACTIVE_ARGUMENT - 1
|
||||
self:AdvSearchArgButtonToggle()
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvSearchArgButtonToggle()
|
||||
function AtlasLoot:AdvSearchArgButtonToggle()
|
||||
if ACTIVE_ARGUMENT == MAX_ARGUMENTS then
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainerAddArgBtn:Disable()
|
||||
else
|
||||
@@ -315,73 +292,76 @@ function AtlasLoot_AdvSearchArgButtonToggle()
|
||||
end
|
||||
end
|
||||
|
||||
AtlasLoot_AdvSearchDefaultText = {
|
||||
local AdvSearchDefaultText = {
|
||||
["quality"] = "Select Quality",
|
||||
["equip"] = "Select Item Type",
|
||||
["type"] = "Select Option",
|
||||
["difficulty"] = "Select Difficulty"
|
||||
}
|
||||
|
||||
function AtlasLoot_AdvancedSearchMenuClick(Object, VariableToSet, VariableValue, ChildMenu, ChildMenuRegister)
|
||||
function AtlasLoot:AdvancedSearchMenuClick(Object, VariableToSet, VariableValue, ChildMenu, ChildMenuRegister)
|
||||
-- Setups child menus and sets search options to default
|
||||
if (ChildMenu ~= nil) then
|
||||
if (ChildMenuRegister == "Disable") then
|
||||
AtlasLoot_AdvSearchOptions[AtlasLoot_FrameMenuList[ChildMenu][4]] = AtlasLoot_FrameMenuList[ChildMenu][5];
|
||||
_G[AtlasLoot_FrameMenuList[ChildMenu][2]]:Disable();
|
||||
AdvSearchOptions[FrameMenuList[ChildMenu][4]] = FrameMenuList[ChildMenu][5]
|
||||
_G[FrameMenuList[ChildMenu][2]]:Disable()
|
||||
-- Disable assigned children menus as well
|
||||
if (AtlasLoot_FrameMenuList[ChildMenu][6]) then
|
||||
_G[AtlasLoot_FrameMenuList[ChildMenu][6]]:Disable();
|
||||
if (FrameMenuList[ChildMenu][6]) then
|
||||
_G[FrameMenuList[ChildMenu][6]]:Disable()
|
||||
end
|
||||
if VariableValue == "reset" then
|
||||
AtlasLoot_AdvSearchOptions[VariableToSet] = "";
|
||||
Object[1]:SetText(AtlasLoot_AdvSearchDefaultText[VariableToSet]);
|
||||
Object[2]:Close();
|
||||
AdvSearchOptions[VariableToSet] = ""
|
||||
Object[1]:SetText(AdvSearchDefaultText[VariableToSet])
|
||||
Object[2]:Close()
|
||||
|
||||
_G[AtlasLoot_FrameMenuList[ChildMenu][2]]:SetText(AtlasLoot_FrameMenuList[ChildMenu][3])
|
||||
_G[FrameMenuList[ChildMenu][2]]:SetText(FrameMenuList[ChildMenu][3])
|
||||
return
|
||||
end
|
||||
else
|
||||
AtlasLoot_AdvancedSearchRegister(AtlasLoot_FrameMenuList[ChildMenu][1], _G[AtlasLoot_FrameMenuList[ChildMenu][2]], AtlasLoot_AdvancedSearchMenus[ChildMenuRegister]);
|
||||
AtlasLoot_AdvSearchOptions[AtlasLoot_FrameMenuList[ChildMenu][4]] = AtlasLoot_FrameMenuList[ChildMenu][5];
|
||||
_G[AtlasLoot_FrameMenuList[ChildMenu][2]]:Enable();
|
||||
_G[AtlasLoot_FrameMenuList[ChildMenu][2]]:SetText(AtlasLoot_FrameMenuList[ChildMenu][3]);
|
||||
self:AdvancedSearchRegister(FrameMenuList[ChildMenu][1], _G[FrameMenuList[ChildMenu][2]], AdvancedSearchMenus[ChildMenuRegister])
|
||||
AdvSearchOptions[FrameMenuList[ChildMenu][4]] = FrameMenuList[ChildMenu][5]
|
||||
_G[FrameMenuList[ChildMenu][2]]:Enable()
|
||||
_G[FrameMenuList[ChildMenu][2]]:SetText(FrameMenuList[ChildMenu][3])
|
||||
-- Disable assigned children menus as well
|
||||
if (AtlasLoot_FrameMenuList[ChildMenu][6]) then
|
||||
_G[AtlasLoot_FrameMenuList[ChildMenu][6]]:Disable();
|
||||
if (FrameMenuList[ChildMenu][6]) then
|
||||
_G[FrameMenuList[ChildMenu][6]]:Disable()
|
||||
end
|
||||
end
|
||||
end
|
||||
if VariableValue == "reset" then
|
||||
AtlasLoot_AdvSearchOptions[VariableToSet] = "";
|
||||
Object[1]:SetText(AtlasLoot_AdvSearchDefaultText[VariableToSet]);
|
||||
Object[2]:Close();
|
||||
AdvSearchOptions[VariableToSet] = ""
|
||||
Object[1]:SetText(AdvSearchDefaultText[VariableToSet])
|
||||
Object[2]:Close()
|
||||
return
|
||||
end
|
||||
AtlasLoot_AdvSearchOptions[VariableToSet] = VariableValue;
|
||||
Object[1]:SetText(Object[3]);
|
||||
Object[2]:Close();
|
||||
AdvSearchOptions[VariableToSet] = VariableValue
|
||||
Object[1]:SetText(Object[3])
|
||||
Object[2]:Close()
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvancedSearchRegister(DropDown, DropDownObject, MenuOption)
|
||||
function AtlasLoot:AdvancedSearchRegister(DropDown, DropDownObject, MenuOption)
|
||||
DropDown:Register(DropDownObject, 'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
end, 'children', function(level, value)
|
||||
if level == 1 then
|
||||
if AtlasLoot_AdvancedSearchMenus then
|
||||
if AdvancedSearchMenus then
|
||||
for k, v in ipairs(MenuOption) do
|
||||
-- If a link to show a submenu
|
||||
if (type(v[1]) == "table") and (type(v[1][1]) == "string") then
|
||||
if v[1][1] ~= "" then
|
||||
DropDown:AddLine('text', v[1][1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', AtlasLoot_AdvancedSearchMenuClick, 'arg1', {DropDownObject, DropDown, v[1][1]}, 'arg2',
|
||||
v[1][2], 'arg3', v[1][3], 'arg4', v[1][4], 'arg5', v[1][5], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1][1], 'textR', 1, 'textG', 0.82, 'textB', 0,
|
||||
'func', function()
|
||||
self:AdvancedSearchMenuClick({DropDownObject, DropDown, v[1][1]}, v[1][2], v[1][3], v[1][4], v[1][5])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
end
|
||||
else
|
||||
local lock = 0;
|
||||
local lock = 0
|
||||
-- If an entry linked to a subtable
|
||||
for i, j in pairs(v) do
|
||||
if lock == 0 then
|
||||
DropDown:AddLine('text', i, 'textR', 1, 'textG', 0.82, 'textB', 0, 'hasArrow', true, 'value', j, 'notCheckable', true)
|
||||
lock = 1;
|
||||
lock = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -394,80 +374,88 @@ function AtlasLoot_AdvancedSearchRegister(DropDown, DropDownObject, MenuOption)
|
||||
elseif level == 2 then
|
||||
if value then
|
||||
for k, v in ipairs(value) do
|
||||
DropDown:AddLine('text', v[1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', AtlasLoot_AdvancedSearchMenuClick, 'arg1', {DropDownObject, DropDown, v[1]}, 'arg2', v[2], 'arg3',
|
||||
v[3], 'arg4', v[4], 'arg5', v[5], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1], 'textR', 1, 'textG', 0.82, 'textB', 0,
|
||||
'func', function()
|
||||
self:AdvancedSearchMenuClick({DropDownObject, DropDown, v[1]}, v[2], v[3], v[4], v[5])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
end
|
||||
end
|
||||
end
|
||||
end, 'dontHook', true)
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvancedSearchArgumentClick(Object, VariableToSet, VariableValue, IsOperator)
|
||||
function AtlasLoot:AdvancedSearchArgumentClick(Object, VariableToSet, VariableValue, IsOperator)
|
||||
if IsOperator and VariableValue == "reset" then
|
||||
AtlasLoot_AdvSearchOptions["arg" .. VariableToSet .. "op"] = "";
|
||||
AdvSearchOptions["arg" .. VariableToSet .. "op"] = ""
|
||||
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:SetText("");
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Hide();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:SetText("")
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Hide()
|
||||
|
||||
Object[1]:SetText("Select Option");
|
||||
Object[2]:Close();
|
||||
Object[1]:SetText("Select Option")
|
||||
Object[2]:Close()
|
||||
elseif IsOperator then
|
||||
AtlasLoot_AdvSearchOptions["arg" .. VariableToSet .. "op"] = VariableValue;
|
||||
AdvSearchOptions["arg" .. VariableToSet .. "op"] = VariableValue
|
||||
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Show();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Show()
|
||||
|
||||
Object[1]:SetText(Object[3]);
|
||||
Object[2]:Close();
|
||||
Object[1]:SetText(Object[3])
|
||||
Object[2]:Close()
|
||||
elseif VariableValue == "reset" then
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:SetText("Select Option");
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:Disable();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:SetText("Select Option")
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:Disable()
|
||||
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:SetText("");
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Hide();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:SetText("")
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Hide()
|
||||
|
||||
AtlasLoot_AdvSearchOptions["arg" .. VariableToSet] = "";
|
||||
AtlasLoot_AdvSearchOptions["arg" .. VariableToSet .. "op"] = "";
|
||||
AdvSearchOptions["arg" .. VariableToSet] = ""
|
||||
AdvSearchOptions["arg" .. VariableToSet .. "op"] = ""
|
||||
|
||||
Object[1]:SetText("Select Option");
|
||||
Object[2]:Close();
|
||||
Object[1]:SetText("Select Option")
|
||||
Object[2]:Close()
|
||||
else
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:SetText("Select Option");
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:Enable();
|
||||
AtlasLoot_AdvSearchOptions["arg" .. VariableToSet .. "op"] = "";
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:SetText("Select Option")
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Sub"]:Enable()
|
||||
AdvSearchOptions["arg" .. VariableToSet .. "op"] = ""
|
||||
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:SetText("");
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Hide();
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:SetText("")
|
||||
_G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. VariableToSet .. "Value"]:Hide()
|
||||
|
||||
AtlasLoot_AdvSearchOptions["arg" .. VariableToSet] = VariableValue;
|
||||
Object[1]:SetText(Object[3]);
|
||||
Object[2]:Close();
|
||||
AdvSearchOptions["arg" .. VariableToSet] = VariableValue
|
||||
Object[1]:SetText(Object[3])
|
||||
Object[2]:Close()
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot_AdvancedSearchArgumentRegister(DropDown, DropDownObject, ArgumentCount, ArgumentMenu)
|
||||
function AtlasLoot:AdvancedSearchArgumentRegister(DropDown, DropDownObject, ArgumentCount, ArgumentMenu)
|
||||
DropDown:Register(DropDownObject, 'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
end, 'children', function(level, value)
|
||||
if level == 1 then
|
||||
if AtlasLoot_AdvancedSearchArguments then
|
||||
if AdvancedSearchArguments then
|
||||
for k, v in ipairs(ArgumentMenu) do
|
||||
-- If a link to show a submenu
|
||||
if (type(v[1]) == "table") and (type(v[1][1]) == "string") then
|
||||
local checked = false;
|
||||
local checked = false
|
||||
if v[1][3] == "Submenu" then
|
||||
DropDown:AddLine('text', v[1][1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', AtlasLoot_AdvancedSearchArgumentClick, 'arg1', {DropDownObject, DropDown, v[1][1]}, 'arg2',
|
||||
ArgumentCount, 'arg3', v[1][2], 'arg4', v[1][3], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1][1], 'textR', 1, 'textG', 0.82, 'textB', 0,
|
||||
'func', function()
|
||||
self:AdvancedSearchArgumentClick({DropDownObject, DropDown, v[1][1]}, ArgumentCount, v[1][2], v[1][3])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
elseif v[1][1] ~= "" then
|
||||
DropDown:AddLine('text', v[1][1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', AtlasLoot_AdvancedSearchArgumentClick, 'arg1', {DropDownObject, DropDown, v[1][1]}, 'arg2',
|
||||
ArgumentCount, 'arg3', v[1][2], 'arg4', v[1][3], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1][1], 'textR', 1, 'textG', 0.82, 'textB', 0,
|
||||
'func', function() self:AdvancedSearchArgumentClick({DropDownObject, DropDown, v[1][1]}, ArgumentCount, v[1][2], v[1][3])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
end
|
||||
else
|
||||
local lock = 0;
|
||||
local lock = 0
|
||||
-- If an entry linked to a subtable
|
||||
for i, j in pairs(v) do
|
||||
if lock == 0 then
|
||||
DropDown:AddLine('text', i, 'textR', 1, 'textG', 0.82, 'textB', 0, 'hasArrow', true, 'value', j, 'notCheckable', true)
|
||||
lock = 1;
|
||||
lock = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -479,20 +467,26 @@ function AtlasLoot_AdvancedSearchArgumentRegister(DropDown, DropDownObject, Argu
|
||||
end, 'notCheckable', true)
|
||||
elseif level == 2 then
|
||||
if value then
|
||||
for k, v in ipairs(value) do
|
||||
for _, v in ipairs(value) do
|
||||
if type(v) == "table" then
|
||||
if (type(v[1]) == "string") then
|
||||
local checked = false;
|
||||
local checked = false
|
||||
-- If an entry to show a submenu
|
||||
if v[4] == "Header" then
|
||||
DropDown:AddLine('text', v[1], 'textR', 0.2, 'textG', 0.82, 'textB', 0.5, 'func', AtlasLoot_AdvancedSearchArgumentClick, 'arg1', {DropDownObject, DropDown, v[1]},
|
||||
'arg2', ArgumentCount, 'arg3', v[2], 'arg4', v[3], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1], 'textR', 0.2, 'textG', 0.82, 'textB', 0.5, 'func', function()
|
||||
self:AdvancedSearchArgumentClick({DropDownObject, DropDown, v[1]}, ArgumentCount, v[2], v[3])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
elseif v[3] == "Submenu" then
|
||||
DropDown:AddLine('text', v[1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', AtlasLoot_AdvancedSearchArgumentClick, 'arg1', {DropDownObject, DropDown, v[1]}, 'arg2',
|
||||
ArgumentCount, 'arg3', v[2], 'arg4', v[3], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', function()
|
||||
self:AdvancedSearchArgumentClick({DropDownObject, DropDown, v[1]}, ArgumentCount, v[2], v[3])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
else
|
||||
DropDown:AddLine('text', v[1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', AtlasLoot_AdvancedSearchArgumentClick, 'arg1', {DropDownObject, DropDown, v[1]}, 'arg2',
|
||||
ArgumentCount, 'arg3', v[2], 'arg4', v[3], 'notCheckable', true)
|
||||
DropDown:AddLine('text', v[1], 'textR', 1, 'textG', 0.82, 'textB', 0, 'func', function()
|
||||
self:AdvancedSearchArgumentClick({DropDownObject, DropDown, v[1]}, ArgumentCount, v[2], v[3])
|
||||
end,
|
||||
'notCheckable', true)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -509,16 +503,16 @@ function AtlasLoot:AdvancedSearch(Text)
|
||||
if not Text then
|
||||
return
|
||||
end
|
||||
Text = strtrim(Text);
|
||||
local advSearchString = Text or "";
|
||||
Text = strtrim(Text)
|
||||
local advSearchString = Text or ""
|
||||
|
||||
local function AppendSearchString(toAppend, str)
|
||||
if toAppend ~= "" then
|
||||
toAppend = toAppend .. "&" .. str;
|
||||
return toAppend;
|
||||
toAppend = toAppend .. "&" .. str
|
||||
return toAppend
|
||||
end
|
||||
|
||||
return str;
|
||||
return str
|
||||
end
|
||||
|
||||
local function GetTextByName(name)
|
||||
@@ -526,69 +520,69 @@ function AtlasLoot:AdvancedSearch(Text)
|
||||
return _G["AtlasLootDefaultFrame_AdvancedSearchPanel_" .. name]:GetText()
|
||||
end
|
||||
|
||||
return nil;
|
||||
return nil
|
||||
end
|
||||
|
||||
local function FixRangedSlot(subType)
|
||||
if (subType == "wand" or subType == "gun" or subType == "crossbow") then
|
||||
return "rangedright";
|
||||
return "rangedright"
|
||||
elseif subType == "thrown" then
|
||||
return "thrown";
|
||||
return "thrown"
|
||||
end
|
||||
return "ranged";
|
||||
return "ranged"
|
||||
end
|
||||
|
||||
if AtlasLoot_AdvSearchOptions["quality"] ~= "" then
|
||||
advSearchString = AppendSearchString(advSearchString, "quality=" .. AtlasLoot_AdvSearchOptions["quality"]);
|
||||
if AdvSearchOptions["quality"] ~= "" then
|
||||
advSearchString = AppendSearchString(advSearchString, "quality=" .. AdvSearchOptions["quality"])
|
||||
end
|
||||
|
||||
if AtlasLoot_AdvSearchOptions["equip"] ~= "" then
|
||||
if AtlasLoot_AdvSearchOptions["equip"] == "ranged" and AtlasLoot_AdvSearchOptions["type"] ~= "" then
|
||||
AtlasLoot_AdvSearchOptions["equip"] = FixRangedSlot(AtlasLoot_AdvSearchOptions["type"]);
|
||||
if AdvSearchOptions["equip"] ~= "" then
|
||||
if AdvSearchOptions["equip"] == "ranged" and AdvSearchOptions["type"] ~= "" then
|
||||
AdvSearchOptions["equip"] = FixRangedSlot(AdvSearchOptions["type"])
|
||||
end
|
||||
advSearchString = AppendSearchString(advSearchString, "slot=" .. AtlasLoot_AdvSearchOptions["equip"]);
|
||||
advSearchString = AppendSearchString(advSearchString, "slot=" .. AdvSearchOptions["equip"])
|
||||
end
|
||||
|
||||
if AtlasLoot_AdvSearchOptions["type"] ~= "" and AtlasLoot_AdvSearchOptions["type"] then
|
||||
advSearchString = AppendSearchString(advSearchString, "type=" .. AtlasLoot_AdvSearchOptions["type"]);
|
||||
if AdvSearchOptions["type"] ~= "" and AdvSearchOptions["type"] then
|
||||
advSearchString = AppendSearchString(advSearchString, "type=" .. AdvSearchOptions["type"])
|
||||
end
|
||||
|
||||
if AtlasLoot_AdvSearchOptions["difficulty"] ~= "" and AtlasLoot_AdvSearchOptions["difficulty"] ~= 2 then
|
||||
advSearchString = AppendSearchString(advSearchString, "dif=" .. AtlasLoot_AdvSearchOptions["difficulty"]);
|
||||
if AdvSearchOptions["difficulty"] ~= "" and AdvSearchOptions["difficulty"] ~= 2 then
|
||||
advSearchString = AppendSearchString(advSearchString, "dif=" .. AdvSearchOptions["difficulty"])
|
||||
end
|
||||
|
||||
if(not AtlasLootDefaultFrame_AdvancedSearchPanel_LevelToggle:GetChecked()) then
|
||||
if (GetTextByName("LevelMin") and GetTextByName("LevelMin") ~= "") then
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl>=" .. GetTextByName("LevelMin"));
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl>=" .. GetTextByName("LevelMin"))
|
||||
end
|
||||
|
||||
if (GetTextByName("LevelMax") and GetTextByName("LevelMax") ~= "") then
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl<=" .. GetTextByName("LevelMax"));
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl<=" .. GetTextByName("LevelMax"))
|
||||
end
|
||||
else
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl>=" .. UnitLevel("player"));
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl<=" .. UnitLevel("player"));
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl>=" .. UnitLevel("player"))
|
||||
advSearchString = AppendSearchString(advSearchString, "minlvl<=" .. UnitLevel("player"))
|
||||
end
|
||||
|
||||
if (GetTextByName("iLevelMin") and GetTextByName("iLevelMin") ~= "") then
|
||||
advSearchString = AppendSearchString(advSearchString, "ilvl>=" .. GetTextByName("iLevelMin"));
|
||||
advSearchString = AppendSearchString(advSearchString, "ilvl>=" .. GetTextByName("iLevelMin"))
|
||||
end
|
||||
|
||||
if (GetTextByName("iLevelMax") and GetTextByName("iLevelMax") ~= "") then
|
||||
advSearchString = AppendSearchString(advSearchString, "ilvl<=" .. GetTextByName("iLevelMax"));
|
||||
advSearchString = AppendSearchString(advSearchString, "ilvl<=" .. GetTextByName("iLevelMax"))
|
||||
end
|
||||
|
||||
for i = 1, ACTIVE_ARGUMENT, 1 do
|
||||
if AtlasLoot_AdvSearchOptions["arg" .. i] ~= "" then
|
||||
local arg = _G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(i) .. "Value"]:GetText();
|
||||
if AtlasLoot_AdvSearchOptions["arg" .. i .. "op"] == "" then
|
||||
AtlasLoot_AdvSearchOptions["arg" .. i .. "op"] = ">"
|
||||
arg = "0";
|
||||
if AdvSearchOptions["arg" .. i] ~= "" then
|
||||
local arg = _G["AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(i) .. "Value"]:GetText()
|
||||
if AdvSearchOptions["arg" .. i .. "op"] == "" then
|
||||
AdvSearchOptions["arg" .. i .. "op"] = ">"
|
||||
arg = "0"
|
||||
end
|
||||
advSearchString = AppendSearchString(advSearchString, AtlasLoot_AdvSearchOptions["arg" .. i] .. AtlasLoot_AdvSearchOptions["arg" .. i .. "op"] .. arg);
|
||||
advSearchString = AppendSearchString(advSearchString, AdvSearchOptions["arg" .. i] .. AdvSearchOptions["arg" .. i .. "op"] .. arg)
|
||||
end
|
||||
end
|
||||
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel:Hide();
|
||||
AtlasLoot:Search(string.lower(advSearchString));
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel:Hide()
|
||||
self:Search(string.lower(advSearchString))
|
||||
end
|
||||
|
||||
+1032
-1043
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,442 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
-- Colours stored for code readability
|
||||
local GREY = "|cff999999"
|
||||
local RED = "|cffff0000"
|
||||
local WHITE = "|cffFFFFFF"
|
||||
local GREEN = "|cff1eff00"
|
||||
local PURPLE = "|cff9F3FFF"
|
||||
local BLUE = "|cff0070dd"
|
||||
local ORANGE = "|cffFF8400"
|
||||
local CYAN = "|cff00ffff"
|
||||
local SPRINGGREEN = "|cFF00FF7F"
|
||||
|
||||
-- Used to create a dewdrop menu from a table
|
||||
function AtlasLoot:OpenDewdropMenu(frame, menuList, skipRegister)
|
||||
if self.Dewdrop:IsOpen(frame) then self.Dewdrop:Close() return end
|
||||
if not skipRegister then
|
||||
self.Dewdrop:Register(frame,
|
||||
'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
end,
|
||||
'children', function(level, value)
|
||||
local altar
|
||||
for _, menu in pairs(menuList[level]) do
|
||||
if menu.divider then
|
||||
local text = WHITE.."----------------------------------------------------------------------------------------------------"
|
||||
self.Dewdrop:AddLine(
|
||||
'text' , text:sub(1, menu.divider),
|
||||
'textHeight', 13,
|
||||
'textWidth', 13,
|
||||
'isTitle', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
else
|
||||
self.Dewdrop:AddLine(
|
||||
'text', menu.text,
|
||||
'func', menu.func,
|
||||
'closeWhenClicked', menu.closeWhenClicked,
|
||||
'textHeight', menu.textHeight,
|
||||
'textWidth', menu.textWidth,
|
||||
'notCheckable', menu.notCheckable,
|
||||
'tooltip', menu.tooltip,
|
||||
'secure', menu.secure,
|
||||
'icon', menu.icon
|
||||
)
|
||||
end
|
||||
-- create close button
|
||||
if menu.close then
|
||||
self.Dewdrop:AddLine(
|
||||
'text', AL["Close Menu"],
|
||||
'textR', 0,
|
||||
'textG', 1,
|
||||
'textB', 1,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
end
|
||||
end
|
||||
end,
|
||||
'dontHook', true
|
||||
)
|
||||
end
|
||||
self.Dewdrop:Open(frame)
|
||||
return true
|
||||
end
|
||||
|
||||
--for a adding a divider to dew drop menus
|
||||
function AtlasLoot:AddDividerLine(maxLenght)
|
||||
local text = WHITE.."----------------------------------------------------------------------------------------------------"
|
||||
self.Dewdrop:AddLine(
|
||||
'text' , text:sub(1, maxLenght),
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'isTitle', true,
|
||||
"notCheckable", true
|
||||
)
|
||||
end
|
||||
|
||||
function AtlasLoot:CloseDewDrop(divider, maxLenght)
|
||||
if divider then
|
||||
self:AddDividerLine(maxLenght)
|
||||
end
|
||||
self.Dewdrop:AddLine(
|
||||
'text', AL["Close Menu"],
|
||||
'textR', 0,
|
||||
'textG', 1,
|
||||
'textB', 1,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
end
|
||||
|
||||
-- return a copy of the table table
|
||||
function AtlasLoot:CloneTable(table)
|
||||
if type(table) ~= "table" then return end
|
||||
local new = {} -- create a new table
|
||||
for i, v in pairs(table) do
|
||||
if type(v) == "table" then
|
||||
v = self:CloneTable(v)
|
||||
end
|
||||
new[i] = v
|
||||
end
|
||||
return new
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:FindId(id, difficulty)
|
||||
Finds the Ids of other difficulties based on the normal id of the item and the difficulty parameter given.
|
||||
On the form of {ID, {normal, heroic, mythic, mythic1, mythic2, ... ,mythicN}}
|
||||
]]
|
||||
function AtlasLoot:FindId(id, difficulty, type, sourceType)
|
||||
if not ItemIDsDatabase[id] then return nil, false end
|
||||
if (difficulty == 4 and (type == "BCRaid" or type == "ClassicRaid") and sourceType == "Search") or
|
||||
(difficulty == 5 and (type == "BCRaid" or type == "ClassicRaid") and sourceType ~= "Search") then
|
||||
return ItemIDsDatabase[id]["MythicRaid"], true
|
||||
end
|
||||
if (difficulty == 5 and (type == "BCRaid" or type == "ClassicRaid") and sourceType == "Search") then
|
||||
difficulty = 4
|
||||
end
|
||||
return ItemIDsDatabase[id][difficulty], true
|
||||
end
|
||||
|
||||
-- Create enchant tooltip
|
||||
function AtlasLoot:GetEnchantLink(enchantID)
|
||||
if not enchantID then return end
|
||||
local EnchantLink = nil
|
||||
AtlasLootScanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
|
||||
AtlasLootScanTooltip:ClearLines()
|
||||
AtlasLootScanTooltip:SetHyperlink("enchant:"..enchantID)
|
||||
AtlasLootScanTooltip:Show()
|
||||
local tooltipline = _G["AtlasLootScanTooltipTextLeft1"]
|
||||
local text = tooltipline:GetText()
|
||||
if text and string.find(text, ":") then
|
||||
EnchantLink = "|cffffd000|Henchant:"..enchantID.."|h["..text.."]|h|r"
|
||||
else
|
||||
EnchantLink = GetSpellLink(enchantID)
|
||||
end
|
||||
AtlasLootScanTooltip:Hide()
|
||||
return EnchantLink
|
||||
end
|
||||
|
||||
-- Open a ascension db link
|
||||
function AtlasLoot:OpenDBURL(ID, Type)
|
||||
OpenAscensionDBURL("?"..Type.."="..ID)
|
||||
end
|
||||
|
||||
-- create a enchant or item chat link!
|
||||
function AtlasLoot:Chatlink(ID,chatType,Type)
|
||||
if Type == "spell" then
|
||||
SendChatMessage(self:GetEnchantLink(ID) ,chatType)
|
||||
else
|
||||
SendChatMessage(select(2,GetItemInfo(ID)) ,chatType)
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot:GetRecipeData(recipeID, idType)
|
||||
if not TRADESKILL_RECIPES then return end
|
||||
for _,prof in pairs(TRADESKILL_RECIPES) do
|
||||
for _,cat in pairs(prof) do
|
||||
for _,recipe in pairs(cat) do
|
||||
if (idType == "spell" and recipeID == recipe.SpellEntry) or (idType == "item" and recipeID == recipe.RecipeItemEntry) then
|
||||
local info = {{recipe.CreatedItemEntry}, "blank", "blank", "blank", "blank", "blank",spellID = recipe.SpellEntry}
|
||||
if ItemIDsDatabase[recipe.CreatedItemEntry] and ItemIDsDatabase[recipe.CreatedItemEntry][1] then
|
||||
info[2] = {ItemIDsDatabase[recipe.CreatedItemEntry][1]}
|
||||
end
|
||||
if recipe.RecipeItemEntry and recipe.RecipeItemEntry ~= 0 then
|
||||
local number = 3
|
||||
if info[2] == "blank" then
|
||||
number = 2
|
||||
end
|
||||
info[number] = {recipe.RecipeItemEntry}
|
||||
|
||||
end
|
||||
for _,v in pairs(recipe.Reagents) do
|
||||
tinsert(info, v)
|
||||
end
|
||||
return info
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Returns the recipe itemID from a crafting spellID
|
||||
function AtlasLoot:GetRecipeID(spellID)
|
||||
if not TRADESKILL_RECIPES then return end
|
||||
for _,prof in pairs(TRADESKILL_RECIPES) do
|
||||
for _,cat in pairs(prof) do
|
||||
for _,recipe in pairs(cat) do
|
||||
if spellID == recipe.SpellEntry and recipe.RecipeItemEntry ~= 0 then
|
||||
return recipe.RecipeItemEntry
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Get rep faction for when you have 2 loot tables and want to show a different one depending on rep
|
||||
function AtlasLoot:GetReputationFaction(factions)
|
||||
local factionIndex = 1
|
||||
local lastFactionName
|
||||
repeat
|
||||
local name, _, _, _, _, totalRep = GetFactionInfo(factionIndex)
|
||||
for _, faction in pairs(factions) do
|
||||
if name == faction and totalRep and totalRep >= 1 then
|
||||
return faction
|
||||
end
|
||||
if name == faction then
|
||||
lastFactionName = faction
|
||||
end
|
||||
end
|
||||
factionIndex = factionIndex + 1
|
||||
until factionIndex > 200
|
||||
return lastFactionName
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:PopoupItemFrame(item, data)
|
||||
Used to create a popup item frame for items like gem sacks to show what they contain
|
||||
]]
|
||||
function AtlasLoot:PopoupItemFrame(frame, data)
|
||||
if not data then AtlasLoot_PopupFrame:Hide() return end
|
||||
--hide the unused buttons
|
||||
for i = 1, 15 do
|
||||
local button = _G["AtlasLoot_PopupButton_"..i]
|
||||
if button then
|
||||
button:Hide()
|
||||
end
|
||||
end
|
||||
--creates a button only if one dosnt already exist re use old one if it does
|
||||
local function createButton(num)
|
||||
if _G["AtlasLoot_PopupButton_"..num] then return end
|
||||
local button = CreateFrame("Button", "AtlasLoot_PopupButton_"..num, AtlasLoot_PopupFrame)
|
||||
button:SetID(num)
|
||||
button:SetSize(30,30)
|
||||
button:EnableMouse()
|
||||
button:RegisterForClicks("AnyDown")
|
||||
button:SetHighlightTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
||||
button.icon = button:CreateTexture(nil,"ARTWORK")
|
||||
button.icon:SetSize(30,30)
|
||||
button.icon:SetPoint("CENTER")
|
||||
button.name = button:CreateFontString(nil,"ARTWORK","GameFontHighlightLarge")
|
||||
button.name:SetFont("GameFontHighlightLarge", 30)
|
||||
button.name:SetSize(30,30)
|
||||
button.name:SetPoint("CENTER", button.icon,0,0)
|
||||
button.name:SetJustifyH("CENTER")
|
||||
button.name:Hide()
|
||||
button.number = num
|
||||
button:SetScript("OnClick", function(btn, arg1) self:ItemOnClick(btn, arg1) end)
|
||||
button:SetScript("OnEnter", function(btn)
|
||||
self:ItemOnEnter(btn)
|
||||
AtlasLoot_PopupFrame:Show()
|
||||
end)
|
||||
button:SetScript("OnLeave", function(btn)
|
||||
if not self.Dewdrop:IsOpen(_G["AtlasLoot_PopupButton_"..num]) then
|
||||
self:ItemOnLeave(btn)
|
||||
end
|
||||
end)
|
||||
|
||||
if num == 1 then
|
||||
button:SetPoint("TOPLEFT", "AtlasLoot_PopupFrame", 9, -8)
|
||||
elseif num == 7 then
|
||||
button:SetPoint("BOTTOM", "AtlasLoot_PopupButton_1", 0, -33)
|
||||
elseif num == 13 then
|
||||
button:SetPoint("BOTTOM", "AtlasLoot_PopupButton_6", 0, -33)
|
||||
else
|
||||
button:SetPoint("LEFT", _G["AtlasLoot_PopupButton_"..(num-1)],"RIGHT",3,0)
|
||||
end
|
||||
end
|
||||
if data.Faction then
|
||||
data = data[self:GetReputationFaction(data.Faction)]
|
||||
end
|
||||
|
||||
local numberBtns
|
||||
for i, item in ipairs(data) do
|
||||
createButton(i)
|
||||
local button = _G["AtlasLoot_PopupButton_"..i]
|
||||
if item == "blank" then
|
||||
button:Hide()
|
||||
else
|
||||
local itemID = item.itemID or item[1]
|
||||
local itemData = Item:CreateFromID(itemID)
|
||||
if itemID and not itemData:GetInfo() then
|
||||
self:ItemsLoading(1)
|
||||
itemData:ContinueOnLoad(function(itemID)
|
||||
self:ItemsLoading(-1)
|
||||
end)
|
||||
end
|
||||
button.icon:SetTexture(GetItemIcon(itemID))
|
||||
button.itemID = itemID
|
||||
button.itemTexture = frame.itemTexture
|
||||
local recipe = self:GetRecipeData(itemID, "item")
|
||||
if recipe then
|
||||
button.craftingData = self:RecipeSource(recipe.spellID)
|
||||
end
|
||||
if item[2] then
|
||||
button.name:SetText(WHITE..item[2])
|
||||
button.name:Show()
|
||||
else
|
||||
button.name:Hide()
|
||||
end
|
||||
button:Show()
|
||||
end
|
||||
numberBtns = i
|
||||
end
|
||||
if numberBtns < 6 then
|
||||
AtlasLoot_PopupFrame:SetWidth((numberBtns*33)+16)
|
||||
else
|
||||
AtlasLoot_PopupFrame:SetWidth(214)
|
||||
end
|
||||
if numberBtns > 6 then
|
||||
AtlasLoot_PopupFrame:SetHeight(79)
|
||||
elseif numberBtns > 12 then
|
||||
AtlasLoot_PopupFrame:SetHeight(107)
|
||||
else
|
||||
AtlasLoot_PopupFrame:SetHeight(46)
|
||||
end
|
||||
AtlasLoot_PopupFrame:SetParent(frame)
|
||||
AtlasLoot_PopupFrame:ClearAllPoints()
|
||||
AtlasLoot_PopupFrame:SetPoint("TOPLEFT",frame,0,-25)
|
||||
AtlasLoot_PopupFrame:Show()
|
||||
end
|
||||
|
||||
|
||||
--Adds explanatory tooltips to UI objects.
|
||||
function AtlasLoot:AddTooltip(frameb, tooltiptext)
|
||||
if not tooltiptext or not frameb then return end
|
||||
local frame = _G[frameb]
|
||||
frame:SetScript("OnEnter", function()
|
||||
GameTooltip:SetOwner(frame, "ANCHOR_RIGHT")
|
||||
GameTooltip:SetText(tooltiptext)
|
||||
GameTooltip:Show()
|
||||
end)
|
||||
frame:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
||||
end
|
||||
|
||||
--Called when 'Back'Button is pressed and calls up the appropriate loot page
|
||||
function AtlasLoot:BackButton_OnClick()
|
||||
self.backEnabled = false
|
||||
if AtlasLootItemsFrame.refreshSearch then
|
||||
self:ShowItemsFrame(AtlasLootItemsFrame.refreshSearch[1], AtlasLootItemsFrame.refreshSearch[2], AtlasLootItemsFrame.refreshSearch[3])
|
||||
else
|
||||
self:ShowItemsFrame(AtlasLootItemsFrame.refreshBack[1], AtlasLootItemsFrame.refreshBack[2], AtlasLootItemsFrame.refreshBack[3])
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:IsLootTableAvailable(dataID):
|
||||
Checks if a loot table is in memory and attempts to load the correct LoD module if it isn't
|
||||
dataID: Loot table dataID
|
||||
]]
|
||||
function AtlasLoot:IsLootTableAvailable(dataSource)
|
||||
local moduleName
|
||||
moduleName = self.ModuleName[dataSource]
|
||||
if moduleName and IsAddOnLoaded(moduleName) then
|
||||
return true
|
||||
elseif moduleName then
|
||||
LoadAddOn(moduleName)
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:NavButton_OnClick:
|
||||
Called when <-, -> are pressed and calls up the appropriate loot page
|
||||
]]
|
||||
function AtlasLoot:NavButton_OnClick(btn)
|
||||
if AtlasLootDefaultFrame_Map:IsVisible() then
|
||||
self:MapSelect(btn.mapID, btn.mapNum)
|
||||
else
|
||||
local tablenum, dataID, dataSource = btn.tablenum, btn.tablebase[1], btn.tablebase[2]
|
||||
if #_G[dataSource][dataID] > 26 then
|
||||
local min, max = AtlasLootDefaultFrameSubTableScrollScrollBar:GetMinMaxValues()
|
||||
AtlasLootDefaultFrameSubTableScrollScrollBar:SetValue(tablenum * (max / #_G[dataSource][dataID]))
|
||||
end
|
||||
self:ShowItemsFrame(dataID, dataSource, tablenum)
|
||||
end
|
||||
end
|
||||
|
||||
--------- rate limited item frame refresh ---------
|
||||
local refreshTimer
|
||||
function AtlasLoot:ItemRefreshTimer()
|
||||
self:ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3])
|
||||
refreshTimer = false
|
||||
end
|
||||
|
||||
function AtlasLoot:ItemFrameRefresh()
|
||||
if refreshTimer then return end
|
||||
self:ScheduleTimer("ItemRefreshTimer", 5)
|
||||
refreshTimer = true
|
||||
end
|
||||
-----------------------------------------------------
|
||||
|
||||
function AtlasLoot:getMaxDifficulty(difficultyKey)
|
||||
if(difficultyKey == "ClassicDungeon" or difficultyKey == "PVP") then
|
||||
return 2
|
||||
elseif (difficultyKey == "ClassicDungeonExt" or difficultyKey == "BCDungeon" or difficultyKey == "WrathDungeon") then
|
||||
return 44
|
||||
elseif (difficultyKey == "ClassicRaid" or difficultyKey == "BCRaid" or difficultyKey == "WrathRaid") then
|
||||
return 5
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
-- Loading items spinner
|
||||
local loadingCount = 0
|
||||
function AtlasLoot:ItemsLoading(count)
|
||||
if count == "reset" then
|
||||
loadingCount = 0
|
||||
count = 0
|
||||
end
|
||||
loadingCount = loadingCount + count
|
||||
if(loadingCount > 0) then
|
||||
AtlasLoot_ItemsLoadingSpinner:SetVertexColor(0,1,0)
|
||||
AtlasLoot_ItemsLoadingFrameBackground:SetVertexColor(0,1,0)
|
||||
AtlasLoot_ItemsLoading.tooltip = loadingCount.." Items still loading"
|
||||
AtlasLoot_ItemsLoading.Loop:Play()
|
||||
AtlasLoot_ItemsLoading:Show()
|
||||
if GameTooltip:GetOwner() == AtlasLoot_ItemsLoading then
|
||||
GameTooltip:SetOwner(AtlasLoot_ItemsLoading, "ANCHOR_LEFT")
|
||||
GameTooltip:SetText(AtlasLoot_ItemsLoading.tooltip, nil, nil, nil, nil, true)
|
||||
end
|
||||
else
|
||||
AtlasLoot_ItemsLoading.Loop:Stop()
|
||||
AtlasLoot_ItemsLoading:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot:BatchRequestVanity(itemList)
|
||||
itemList = self:CloneTable(itemList)
|
||||
local function nextItem()
|
||||
local task = tremove(itemList)
|
||||
while task do
|
||||
RequestDeliverVanityCollectionItem(task)
|
||||
return Timer.After(1, nextItem)
|
||||
end
|
||||
end
|
||||
return nextItem()
|
||||
end
|
||||
+327
-296
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
@@ -0,0 +1,149 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
|
||||
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
|
||||
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
|
||||
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
|
||||
|
||||
--Table holding all loot tables is initialised here as it loads early
|
||||
AtlasLoot_Data = {}
|
||||
AtlasLoot_MapData = {}
|
||||
AtlasLoot_ExtraData = {}
|
||||
AtlasLoot_CraftingData = {
|
||||
AquireType = {},
|
||||
Trainer = {},
|
||||
WorldDrop = {},
|
||||
LimitedVendor = {},
|
||||
QuestDrop = {},
|
||||
MobDrop = {},
|
||||
RecipeQuest = {},
|
||||
Vendor = {},
|
||||
RepVendor = {},
|
||||
RecipeVendor = {},
|
||||
RecipeWorldDrop = {},
|
||||
RecipeRepVendor = {},
|
||||
}
|
||||
|
||||
AtlasLoot_CraftingData["Custom"] = {
|
||||
[1] = { AL["DISCOVERY_ALCH_ELIXIRFLASK"] };
|
||||
[2] = { AL["DISCOVERY_ALCH_POTION"] };
|
||||
[3] = { AL["DISCOVERY_ALCH_XMUTE"] };
|
||||
[4] = { AL["DISCOVERY_ALCH_PROT"] };
|
||||
[5] = { AL["DAILY_COOKING_MEAT"], BabbleZone["Shattrath"], 0, 0 };
|
||||
[6] = { AL["DAILY_COOKING_FISH"], BabbleZone["Shattrath"], 0, 0 };
|
||||
[7] = { AL["DAILY_FISHING_SHATT"], BabbleZone["Shattrath"], 0, 0 };
|
||||
[8] = { AL["DEFAULT_RECIPE"] };
|
||||
[9] = { AL["CRAFTED_ENGINEERS"] };
|
||||
[10] = { AL["ONYXIA_HEAD_QUEST"], BabbleZone["Onyxia's Lair"], 0, 0 };
|
||||
[11] = { AL["EDGE_OF_MADNESS"], BabbleZone["Zul'Gurub"], 0, 0 };
|
||||
[12] = { AL["DISCOVERY_ALCH_WRATH"] };
|
||||
[13] = { AL["HENRY_STERN_RFD"], BabbleZone["Razorfen Downs"], 0, 0 };
|
||||
[14] = { AL["DISCOVERY_INSC_MINOR"] };
|
||||
[15] = { AL["DISCOVERY_INSC_NORTHREND"] };
|
||||
[16] = { AL["ENG_GNOMER"], BabbleZone["Gnomeregan"], 0, 0 };
|
||||
[17] = { AL["ENG_FLOOR_ITEM_BRD"], BabbleZone["Blackrock Depths"], 0, 0 };
|
||||
[18] = { AL["DISCOVERY_ALCH_NORTHREND_RESEARCH"] };
|
||||
[19] = { AL["DISCOVERY_ALCH_NORTHREND_XMUTE"] };
|
||||
[20] = { AL["Custom36"] };
|
||||
[21] = { AL["Custom36"] };
|
||||
[22] = { AL["AQ40_RANDOM_BOP"], BabbleZone["Temple of Ahn'Qiraj"], 0, 0 };
|
||||
[23] = { AL["DM_CACHE"], BabbleZone["Dire Maul"], 59.04, 48.82 };
|
||||
[24] = { AL["SUNWELL_RANDOM"], BabbleZone["Sunwell Plateau"], 0, 0 };
|
||||
[25] = { AL["BRD_RANDOM_ROOM"], BabbleZone["Blackrock Depths"], 0, 0 };
|
||||
[26] = { AL["MC_RANDOM"], BabbleZone["Molten Core"], 0, 0 };
|
||||
[27] = { AL["HYJAL_RANDOM"], BabbleZone["Hyjal Summit"], 0, 0 };
|
||||
[28] = { AL["Custom36"] };
|
||||
[29] = { AL["ZA_RANDOM"], BabbleZone["Zul'Aman"], 0, 0 };
|
||||
[30] = { AL["SCHOLO_BOOK_SPAWN"], BabbleZone["Scholomance"], 0, 0 };
|
||||
[31] = { AL["STRATH_BS_PLANS"], BabbleZone["Stratholme"], 0, 0 };
|
||||
[32] = { AL["DM_TRIBUTE"], BabbleZone["Dire Maul"], 59.04, 48.82 };
|
||||
[33] = { AL["Custom36"] };
|
||||
[34] = { AL["BT_RANDOM"], BabbleZone["Black Temple"], 0, 0 };
|
||||
[35] = { AL["Random Level 70 instance drop"] };
|
||||
[36] = { AL["Custom36"] };
|
||||
[37] = { AL["SSC_RANDOM"], BabbleZone["Serpentshrine Cavern"], 0, 0 };
|
||||
[38] = { AL["DAILY_COOKING_DAL"], BabbleZone["Dalaran"], 0, 0 };
|
||||
[39] = { AL["ULDUAR_RANDOM"], BabbleZone["Ulduar"], 0, 0 };
|
||||
[40] = { AL["DISCOVERY_INSC_BOOK"] };
|
||||
[41] = { AL["Custom41"] };
|
||||
[42] = { AL["TOC25_RANDOM"] };
|
||||
[43] = { AL["TK_RANDOM"], BabbleZone["The Eye"], 0, 0 };
|
||||
[44] = { AL["Custom44"] };
|
||||
[45] = { AL["Custom45"] };
|
||||
[46] = { AL["Random Level 70 instance drop/Raid Trash Drop"].."/"..AL["TBC Callboard Cache"] };
|
||||
}
|
||||
|
||||
AtlasLoot_CraftingData["Seasonal"] = {
|
||||
[1] = { GetCategoryInfo(156) }; -- Winter's Veil
|
||||
[2] = { GetCategoryInfo(160) }; -- Lunar Festival
|
||||
[3] = { AL["Darkmoon Faire"] }; -- Darkmoon Faire
|
||||
[4] = { GetCategoryInfo(161) }; -- Midsummer
|
||||
[5] = { GetCategoryInfo(14981) }; -- Pilgrim's Bounty
|
||||
[6] = { AL["Day of the Dead"] }; -- Day of the Dead
|
||||
}
|
||||
|
||||
|
||||
|
||||
----------------------
|
||||
--- Heirloom Items ---
|
||||
----------------------
|
||||
AtlasLoot_Data["Heirloom"] = {
|
||||
Name = AL["Heirloom"];
|
||||
{
|
||||
Name = "Chests";
|
||||
[1] = { itemID = 1648691, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Tattered Dreadmist Robe
|
||||
[2] = { itemID = 1648687, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Preened Ironfeather Breastplate
|
||||
[3] = { itemID = 1648689, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Stained Shadowcraft Tunic
|
||||
[4] = { itemID = 1648677, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Champion's Deathdealer Breastplate
|
||||
[5] = { itemID = 1648683, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Mystical Vest of Elements
|
||||
[6] = { itemID = 1648685, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Polished Breastplate of Valor
|
||||
[7] = { itemID = 3148685, price = "1200 #tokenofprestige# | 192000 #marks# | 800 #bazaar#" }; --Polished Breastplate of Might
|
||||
},
|
||||
{
|
||||
Name = "Shoulders";
|
||||
[1] = { itemID = 1642985, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Tattered Dreadmist Mantle
|
||||
[2] = { itemID = 1642984, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Preened Ironfeather Shoulders
|
||||
[3] = { itemID = 1642952, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Stained Shadowcraft Spaulders
|
||||
[4] = { itemID = 1642950, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Champion Herod's Shoulder
|
||||
[5] = { itemID = 1642951, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Mystical Pauldrons of Elements
|
||||
[6] = { itemID = 1642949, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Polished Spaulders of Valor
|
||||
[7] = { itemID = 3142949, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Polished Spaulders of Might
|
||||
[16] = { itemID = 1644107, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Exquisite Sunderseer Mantle
|
||||
[17] = { itemID = 1644103, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Exceptional Stormshroud Shoulders
|
||||
[18] = { itemID = 1644105, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Lasting Feralheart Spaulders
|
||||
[19] = { itemID = 1644102, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Aged Pauldrons of The Five Thunders
|
||||
[20] = { itemID = 1644101, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Prized Beastmaster's Mantle
|
||||
[21] = { itemID = 1644100, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Pristine Lightforge Spaulders
|
||||
[22] = { itemID = 1644099, price = "800 #tokenofprestige# | 128000 #marks# | 600 #bazaar#" }; --Strengthened Stockade Pauldrons
|
||||
},
|
||||
{
|
||||
Name = AL["Accessories"];
|
||||
[1] = { itemID = 1642992, price = "500 #tokenofprestige# | 80000 #marks# | 500 #bazaar#" }; --Discerning Eye of the Beast
|
||||
[2] = { itemID = 1642991, price = "500 #tokenofprestige# | 80000 #marks# | 500 #bazaar#" }; --Swift Hand of Justice
|
||||
[3] = { itemID = 1644098, price = "500 #tokenofprestige# | 80000 #marks# | 500 #bazaar#" }; --Inherited Insignia of the Alliance
|
||||
[4] = { itemID = 1644097, price = "500 #tokenofprestige# | 80000 #marks# | 500 #bazaar#" }; --Inherited Insignia of the Horde
|
||||
[5] = { itemID = 339076, price = "" }; --Pendant of Adventure
|
||||
[6] = { itemID = 339100, price = "" }; --Pendant of Discovery
|
||||
[7] = { itemID = 50255 }; --Dread Pirate Ring
|
||||
},
|
||||
{
|
||||
Name = "Weapons";
|
||||
[1] = { itemID = 1642944, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Balanced Heartseeker
|
||||
[2] = { itemID = 1642945, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Venerable Dal'Rend's Sacred Charge
|
||||
[3] = { itemID = 1642948, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Devout Aurastone Hammer
|
||||
[4] = { itemID = 1648716, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Venerable Mass of McGowan
|
||||
[5] = { itemID = 1644091, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Sharpened Scarlet Kris
|
||||
[6] = { itemID = 1644096, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Battleworn Thrash Blade
|
||||
[7] = { itemID = 1644094, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --The Blessed Hammer of Grace
|
||||
[9] = { itemID = 3140350, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Urn of Aspiring Light
|
||||
[10] = { itemID = 3148335, price = "600 #tokenofprestige# | 96000 #marks# | 600 #bazaar#" }; --Polished Observer's Shield
|
||||
[16] = { itemID = 1642943, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Bloodied Arcanite Reaper
|
||||
[17] = { itemID = 3142943, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Sturdied Arcanite Spear
|
||||
[18] = { itemID = 1648718, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Repurposed Lava Dredger
|
||||
[19] = { itemID = 1642947, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Dignified Headmaster's Charge
|
||||
[20] = { itemID = 1644092, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Reforged Truesilver Champion
|
||||
[21] = { itemID = 1644095, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Grand Staff of Jordan
|
||||
[23] = { itemID = 1642946, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Charmed Ancient Bone Bow
|
||||
[24] = { itemID = 1644093, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Upgraded Dwarven Hand Cannon
|
||||
[25] = { itemID = 1642846, price = "1000 #tokenofprestige# | 160000 #marks# | 800 #bazaar#" }; --Wand of the Forgotten Lich
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<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="Databases.lua"/>
|
||||
<Script file="ItemIDsDatabaseFixes.lua"/>
|
||||
<Script file="extraCraftingData.lua"/>
|
||||
<Script file="CraftingSource.lua"/>
|
||||
<Script file="CraftingLevels.lua"/>
|
||||
<Script file="npcs.lua"/>
|
||||
</Ui>
|
||||
@@ -0,0 +1,589 @@
|
||||
ItemIDsDatabase = {}
|
||||
|
||||
--Items not added from generated file
|
||||
ItemIDsDatabase[18563] = { 18563, 18563, 318563, 218563 }
|
||||
ItemIDsDatabase[18564] = { 18564, 18564, 318564, 218564 }
|
||||
ItemIDsDatabase[17204] = { 17204, 17204, 317204, 217204 }
|
||||
ItemIDsDatabase[19017] = { 19017, 19017, 319017, 219017 }
|
||||
ItemIDsDatabase[11879] = { 11879, 11879, 311879, 211879 }
|
||||
|
||||
|
||||
ItemIDsDatabase[22589] = { 6022589, 22589, 322589, 222589 }
|
||||
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[44831] = { 6044831, 44831, 344831, 244831 }
|
||||
ItemIDsDatabase[27896] = { 6027896, 27896, 27896, 427896 }
|
||||
|
||||
ItemIDsDatabase[30007] = { 6030007, 30007, 330007, 230007 }
|
||||
ItemIDsDatabase[30015] = { 6030015, 30015, 330015, 230015 }
|
||||
ItemIDsDatabase[30017] = { 6030017, 30017, 330017, 230017 }
|
||||
ItemIDsDatabase[30018] = { 6030018, 30018, 330018, 230018 }
|
||||
ItemIDsDatabase[32837] = { 6032837, 32837, 332837, 232837 }
|
||||
ItemIDsDatabase[32838] = { 6032838, 32838, 332838, 232838 }
|
||||
ItemIDsDatabase[30104] = { 6033482, 30104, 330104, 230104 }
|
||||
|
||||
--MC/Ony Items
|
||||
|
||||
ItemIDsDatabase[18216] = { 6018216, 18216, 318216, 218216 }
|
||||
ItemIDsDatabase[18215] = { 6018215, 18215, 318215, 218215 }
|
||||
ItemIDsDatabase[18211] = { 6018211, 18211, 318211, 218211 }
|
||||
ItemIDsDatabase[17084] = { 6017084, 17084, 317084, 217084 }
|
||||
ItemIDsDatabase[18212] = { 6018212, 18212, 318212, 218212 }
|
||||
ItemIDsDatabase[17083] = { 6017083, 17083, 317083, 217083 }
|
||||
|
||||
--Bwl Items
|
||||
ItemIDsDatabase[1506015] = { 7506015, 1506015, 1806015, MythicRaid = 2806015, 1706015 }
|
||||
ItemIDsDatabase[1506014] = { 7506014, 1506014, 1806014, MythicRaid = 2806014, 1706014 }
|
||||
|
||||
|
||||
--T2 missing sets
|
||||
ItemIDsDatabase[1516900] = { 7516900, 1516900, 1816900, MythicRaid = 2816900, 1716900 }
|
||||
ItemIDsDatabase[1516902] = { 7516902, 1516902, 1816902, MythicRaid = 2816902, 1716902 }
|
||||
ItemIDsDatabase[1516897] = { 7516897, 1516897, 1816897, MythicRaid = 2816897, 1716897 }
|
||||
ItemIDsDatabase[1516904] = { 7516904, 1516904, 1816904, MythicRaid = 2816904, 1716904 }
|
||||
ItemIDsDatabase[1516904] = { 7516904, 1516904, 1816904, MythicRaid = 2816904, 1716904 }
|
||||
ItemIDsDatabase[1516899] = { 7516899, 1516899, 1816899, MythicRaid = 2816899, 1716899 }
|
||||
ItemIDsDatabase[1516903] = { 7516903, 1516903, 1816903, MythicRaid = 2816903, 1716903 }
|
||||
ItemIDsDatabase[1516898] = { 7516898, 1516898, 1816898, MythicRaid = 2816898, 1716898 }
|
||||
|
||||
ItemIDsDatabase[1516892] = { 7516892, 1516892, 1816892, MythicRaid = 2816892, 1716892 }
|
||||
ItemIDsDatabase[1516894] = { 7516894, 1516894, 1816894, MythicRaid = 2816894, 1716894 }
|
||||
ItemIDsDatabase[1516889] = { 7516889, 1516889, 1816889, MythicRaid = 2816889, 1716889 }
|
||||
ItemIDsDatabase[1516896] = { 7516896, 1516896, 1816896, MythicRaid = 2816896, 1716896 }
|
||||
ItemIDsDatabase[1516891] = { 7516891, 1516891, 1816891, MythicRaid = 2816891, 1716891 }
|
||||
ItemIDsDatabase[1516895] = { 7516895, 1516895, 1816895, MythicRaid = 2816895, 1716895 }
|
||||
ItemIDsDatabase[1516893] = { 7516893, 1516893, 1816893, MythicRaid = 2816893, 1716893 }
|
||||
ItemIDsDatabase[1516890] = { 7516890, 1516890, 1816890, MythicRaid = 2816890, 1716890 }
|
||||
|
||||
ItemIDsDatabase[1516955] = { 7516955, 1516955, 1816955, MythicRaid = 2816955, 1716955 }
|
||||
ItemIDsDatabase[1516953] = { 7516953, 1516953, 1816953, MythicRaid = 2816953, 1716953 }
|
||||
ItemIDsDatabase[1516958] = { 7516958, 1516958, 1816958, MythicRaid = 2816958, 1716958 }
|
||||
ItemIDsDatabase[1516951] = { 7516951, 1516951, 1816951, MythicRaid = 2816951, 1716951 }
|
||||
ItemIDsDatabase[1516956] = { 7516956, 1516956, 1816956, MythicRaid = 2816956, 1716956 }
|
||||
ItemIDsDatabase[1516952] = { 7516952, 1516952, 1816952, MythicRaid = 2816952, 1716952 }
|
||||
ItemIDsDatabase[1516954] = { 7516954, 1516954, 1816954, MythicRaid = 2816954, 1716954 }
|
||||
ItemIDsDatabase[1516957] = { 7516957, 1516957, 1816957, MythicRaid = 2816957, 1716957 }
|
||||
|
||||
ItemIDsDatabase[1516921] = { 7516921, 1516921, 1816921, MythicRaid = 2816921, 1716921 }
|
||||
ItemIDsDatabase[1516924] = { 7516924, 1516924, 1816924, MythicRaid = 2816924, 1716924 }
|
||||
ItemIDsDatabase[1516923] = { 7516923, 1516923, 1816923, MythicRaid = 2816923, 1716923 }
|
||||
ItemIDsDatabase[1516926] = { 7516926, 1516926, 1816926, MythicRaid = 2816926, 1716926 }
|
||||
ItemIDsDatabase[1516920] = { 7516920, 1516920, 1816920, MythicRaid = 2816920, 1716920 }
|
||||
ItemIDsDatabase[1516925] = { 7516925, 1516925, 1816925, MythicRaid = 2816925, 1716925 }
|
||||
ItemIDsDatabase[1516922] = { 7516922, 1516922, 1816922, MythicRaid = 2816922, 1716922 }
|
||||
ItemIDsDatabase[1516919] = { 7516919, 1516919, 1816919, MythicRaid = 2816919, 1716919 }
|
||||
|
||||
ItemIDsDatabase[1516947] = { 7516947, 1516947, 1816947, MythicRaid = 2816947, 1716947 }
|
||||
ItemIDsDatabase[1516945] = { 7516945, 1516945, 1816945, MythicRaid = 2816945, 1716945 }
|
||||
ItemIDsDatabase[1516950] = { 7516950, 1516950, 1816950, MythicRaid = 2816950, 1716950 }
|
||||
ItemIDsDatabase[1516943] = { 7516943, 1516943, 1816943, MythicRaid = 2816943, 1716943 }
|
||||
ItemIDsDatabase[1516948] = { 7516948, 1516948, 1816948, MythicRaid = 2816948, 1716948 }
|
||||
ItemIDsDatabase[1516944] = { 7516944, 1516944, 1816944, MythicRaid = 2816944, 1716944 }
|
||||
ItemIDsDatabase[1516946] = { 7516946, 1516946, 1816946, MythicRaid = 2816946, 1716946 }
|
||||
ItemIDsDatabase[1516949] = { 7516949, 1516949, 1816949, MythicRaid = 2816949, 1716949 }
|
||||
|
||||
ItemIDsDatabase[1516963] = { 7516963, 1516963, 1816963, MythicRaid = 2816963, 1716963 }
|
||||
ItemIDsDatabase[1516961] = { 7516961, 1516961, 1816961, MythicRaid = 2816961, 1716961 }
|
||||
ItemIDsDatabase[1516966] = { 7516966, 1516966, 1816966, MythicRaid = 2816966, 1716966 }
|
||||
ItemIDsDatabase[1516959] = { 7516959, 1516959, 1816959, MythicRaid = 2816959, 1716959 }
|
||||
ItemIDsDatabase[1516964] = { 7516964, 1516964, 1816964, MythicRaid = 2816964, 1716964 }
|
||||
ItemIDsDatabase[1516960] = { 7516960, 1516960, 1816960, MythicRaid = 2816960, 1716960 }
|
||||
ItemIDsDatabase[1516962] = { 7516962, 1516962, 1816962, MythicRaid = 2816962, 1716962 }
|
||||
ItemIDsDatabase[1516965] = { 7516965, 1516965, 1816965, MythicRaid = 2816965, 1716965 }
|
||||
|
||||
--Tier 3 Missing Sets
|
||||
|
||||
ItemIDsDatabase[1522418] = { 7522515, 1522515, 1822515, MythicRaid = 2822515, 1722515 }
|
||||
ItemIDsDatabase[1522419] = { 7522419, 1522419, 1822419, MythicRaid = 2822419, 1722419 }
|
||||
ItemIDsDatabase[1522416] = { 7522491, 1522491, 1822491, MythicRaid = 2822491, 1722491 }
|
||||
ItemIDsDatabase[1522423] = { 7532491, 1532491, 1832491, MythicRaid = 2832491, 1732491 }
|
||||
ItemIDsDatabase[1522421] = { 7507038, 1507038, 1807038, MythicRaid = 2807038, 1707038 }
|
||||
ItemIDsDatabase[1522422] = { 7522467, 1522467, 1822467, MythicRaid = 2822467, 1722467 }
|
||||
ItemIDsDatabase[1522417] = { 7532429, 1532429, 1832429, MythicRaid = 2832429, 1732429 }
|
||||
ItemIDsDatabase[1522420] = { 7532428, 1532428, 1832428, MythicRaid = 2832428, 1732428 }
|
||||
ItemIDsDatabase[1522466] = { 7522429, 1522429, 1822429, MythicRaid = 2822429, 1722429 }
|
||||
|
||||
ItemIDsDatabase[1522467] = { 7522418, 1522418, 1822418, MythicRaid = 2822418, 1722418 }
|
||||
ItemIDsDatabase[1522464] = { 7507037, 1507037, 1807037, MythicRaid = 2807037, 1707037 }
|
||||
ItemIDsDatabase[1522471] = { 7532490, 1532490, 1832490, MythicRaid = 2832490, 1732490 }
|
||||
ItemIDsDatabase[1522469] = { 7522490, 1522490, 1822490, MythicRaid = 2822490, 1722490 }
|
||||
ItemIDsDatabase[1522470] = { 7522470, 1522470, 1822470, MythicRaid = 2822470, 1722470 }
|
||||
ItemIDsDatabase[1522465] = { 7522465, 1522465, 1822465, MythicRaid = 2822465, 1722465 }
|
||||
ItemIDsDatabase[1522468] = { 7522468, 1522468, 1822468, MythicRaid = 2822468, 1722468 }
|
||||
ItemIDsDatabase[1523065] = { 7523065, 1523065, 1823065, MythicRaid = 2823065, 1723065 }
|
||||
ItemIDsDatabase[1522514] = { 7522514, 1522514, 1822514, MythicRaid = 2822514, 1722514 }
|
||||
|
||||
ItemIDsDatabase[1522515] = { 7522515, 1522515, 1822515, MythicRaid = 2822515, 1722515 }
|
||||
ItemIDsDatabase[1522512] = { 7522512, 1522512, 1822512, MythicRaid = 2822512, 1722512 }
|
||||
ItemIDsDatabase[1522519] = { 7522519, 1522519, 1822519, MythicRaid = 2822519, 1722519 }
|
||||
ItemIDsDatabase[1522517] = { 7522517, 1522517, 1822517, MythicRaid = 2822517, 1722517 }
|
||||
ItemIDsDatabase[1522518] = { 7522518, 1522518, 1822518, MythicRaid = 2822518, 1722518 }
|
||||
ItemIDsDatabase[1522513] = { 7522513, 1522513, 1822513, MythicRaid = 2822513, 1722513 }
|
||||
ItemIDsDatabase[1522516] = { 7522516, 1522516, 1822516, MythicRaid = 2822516, 1722516 }
|
||||
ItemIDsDatabase[1523061] = { 7523061, 1523061, 1823061, MythicRaid = 2823061, 1723061 }
|
||||
ItemIDsDatabase[1522514] = { 7522514, 1522514, 1822514, MythicRaid = 2822514, 1722514 }
|
||||
|
||||
ItemIDsDatabase[1522428] = { 7522428, 1522428, 1822428, MythicRaid = 2822428, 1722428 }
|
||||
ItemIDsDatabase[1522429] = { 7522429, 1522429, 1822429, MythicRaid = 2822429, 1722429 }
|
||||
ItemIDsDatabase[1522425] = { 7522425, 1522425, 1822425, MythicRaid = 2822425, 1722425 }
|
||||
ItemIDsDatabase[1522424] = { 7522424, 1522424, 1822424, MythicRaid = 2822424, 1722424 }
|
||||
ItemIDsDatabase[1522426] = { 7522426, 1522426, 1822426, MythicRaid = 2822426, 1722426 }
|
||||
ItemIDsDatabase[1522431] = { 7522431, 1522431, 1822431, MythicRaid = 2822431, 1722431 }
|
||||
ItemIDsDatabase[1522427] = { 7522427, 1522427, 1822427, MythicRaid = 2822427, 1722427 }
|
||||
ItemIDsDatabase[1522430] = { 7522430, 1522430, 1822430, MythicRaid = 2822430, 1722430 }
|
||||
ItemIDsDatabase[1523066] = { 7523066, 1523066, 1823066, MythicRaid = 2823066, 1723066 }
|
||||
|
||||
ItemIDsDatabase[1532428] = { 7532428, 1532428, 1832428, MythicRaid = 2832428, 1732428 }
|
||||
ItemIDsDatabase[1532429] = { 7532429, 1532429, 1832429, MythicRaid = 2832429, 1732429 }
|
||||
ItemIDsDatabase[1532425] = { 7532425, 1532425, 1832425, MythicRaid = 2832425, 1732425 }
|
||||
ItemIDsDatabase[1532424] = { 7532424, 1532424, 1832424, MythicRaid = 2832424, 1732424 }
|
||||
ItemIDsDatabase[1532426] = { 7532426, 1532426, 1832426, MythicRaid = 2832426, 1732426 }
|
||||
ItemIDsDatabase[1532431] = { 7532431, 1532431, 1832431, MythicRaid = 2832431, 1732431 }
|
||||
ItemIDsDatabase[1532427] = { 7532427, 1532427, 1832427, MythicRaid = 2832427, 1732427 }
|
||||
ItemIDsDatabase[1532430] = { 7532430, 1532430, 1832430, MythicRaid = 2832430, 1732430 }
|
||||
ItemIDsDatabase[1533066] = { 7533066, 1533066, 1833066, MythicRaid = 2833066, 1733066 }
|
||||
|
||||
ItemIDsDatabase[1532488] = { 7532488, 1532488, 1832488, MythicRaid = 2832488, 1732488 }
|
||||
ItemIDsDatabase[1532495] = { 7532495, 1532495, 1832495, MythicRaid = 2832495, 1732495 }
|
||||
ItemIDsDatabase[1532493] = { 7532493, 1532493, 1832493, MythicRaid = 2832493, 1732493 }
|
||||
ItemIDsDatabase[1532494] = { 7532494, 1532494, 1832494, MythicRaid = 2832494, 1732494 }
|
||||
ItemIDsDatabase[1532489] = { 7532489, 1532489, 1832489, MythicRaid = 2832489, 1732489 }
|
||||
ItemIDsDatabase[1532492] = { 7532492, 1532492, 1832492, MythicRaid = 2832492, 1732492 }
|
||||
ItemIDsDatabase[1533064] = { 7533064, 1533064, 1833064, MythicRaid = 2833064, 1733064 }
|
||||
|
||||
ItemIDsDatabase[1507037] = { 7507037, 1507037, 1807037, MythicRaid = 2807037, 1707037 }
|
||||
ItemIDsDatabase[1507038] = { 7507038, 1507038, 1807038, MythicRaid = 2807038, 1707038 }
|
||||
ItemIDsDatabase[1507035] = { 7507035, 1507035, 1807035, MythicRaid = 2807035, 1707035 }
|
||||
ItemIDsDatabase[1507042] = { 7507042, 1507042, 1807042, MythicRaid = 2807042, 1707042 }
|
||||
ItemIDsDatabase[1507040] = { 7507040, 1507040, 1807040, MythicRaid = 2807040, 1707040 }
|
||||
ItemIDsDatabase[1507041] = { 7507041, 1507041, 1807041, MythicRaid = 2807041, 1707041 }
|
||||
ItemIDsDatabase[1507036] = { 7507036, 1507036, 1807036, MythicRaid = 2807036, 1707036 }
|
||||
ItemIDsDatabase[1507039] = { 7507039, 1507039, 1807039, MythicRaid = 2807039, 1707039 }
|
||||
ItemIDsDatabase[1507043] = { 7507043, 1507043, 1807043, MythicRaid = 2807043, 1707043 }
|
||||
|
||||
ItemIDsDatabase[1532490] = { 7532490, 1532490, 1832490, MythicRaid = 2832490, 1732490 }
|
||||
ItemIDsDatabase[1532491] = { 7532491, 1532491, 1832491, MythicRaid = 2832491, 1732491 }
|
||||
ItemIDsDatabase[1522488] = { 7522488, 1522488, 1822488, MythicRaid = 2822488, 1722488 }
|
||||
ItemIDsDatabase[1522495] = { 7522495, 1522495, 1822495, MythicRaid = 2822495, 1722495 }
|
||||
ItemIDsDatabase[1522493] = { 7522493, 1522493, 1822493, MythicRaid = 2822493, 1722493 }
|
||||
ItemIDsDatabase[1522494] = { 7522494, 1522494, 1822494, MythicRaid = 2822494, 1722494 }
|
||||
ItemIDsDatabase[1522489] = { 7522489, 1522489, 1822489, MythicRaid = 2822489, 1722489 }
|
||||
ItemIDsDatabase[1522492] = { 7522492, 1522492, 1822492, MythicRaid = 2822492, 1722492 }
|
||||
ItemIDsDatabase[1523064] = { 7523064, 1523064, 1823064, MythicRaid = 2823064, 1723064 }
|
||||
|
||||
ItemIDsDatabase[1522490] = { 7522490, 1522490, 1822490, MythicRaid = 2822490, 1722490 }
|
||||
ItemIDsDatabase[1522491] = { 7522491, 1522491, 1822491, MythicRaid = 2822491, 1722491 }
|
||||
ItemIDsDatabase[1522488] = { 7522488, 1522488, 1822488, MythicRaid = 2822488, 1722488 }
|
||||
ItemIDsDatabase[1522495] = { 7522495, 1522495, 1822495, MythicRaid = 2822495, 1722495 }
|
||||
ItemIDsDatabase[1522493] = { 7522493, 1522493, 1822493, MythicRaid = 2822493, 1722493 }
|
||||
ItemIDsDatabase[1522494] = { 7522494, 1522494, 1822494, MythicRaid = 2822494, 1722494 }
|
||||
ItemIDsDatabase[1522489] = { 7522489, 1522489, 1822489, MythicRaid = 2822489, 1722489 }
|
||||
ItemIDsDatabase[1522492] = { 7522492, 1522492, 1822492, MythicRaid = 2822492, 1722492 }
|
||||
ItemIDsDatabase[1523064] = { 7523064, 1523064, 1823064, MythicRaid = 2823064, 1723064 }
|
||||
|
||||
ItemIDsDatabase[1522418] = { 7522418, 1522418, 1822418, MythicRaid = 2822418, 1722418 }
|
||||
ItemIDsDatabase[1522419] = { 7522419, 1522419, 1822419, MythicRaid = 2822419, 1722419 }
|
||||
ItemIDsDatabase[1522416] = { 7522416, 1522416, 1822416, MythicRaid = 2822416, 1722416 }
|
||||
ItemIDsDatabase[1522423] = { 7522423, 1522423, 1822423, MythicRaid = 2822423, 1722423 }
|
||||
ItemIDsDatabase[1522421] = { 7522421, 1522421, 1822421, MythicRaid = 2822421, 1722421 }
|
||||
ItemIDsDatabase[1522422] = { 7522422, 1522422, 1822422, MythicRaid = 2822422, 1722422 }
|
||||
ItemIDsDatabase[1522417] = { 7522417, 1522417, 1822417, MythicRaid = 2822417, 1722417 }
|
||||
ItemIDsDatabase[1522420] = { 7522420, 1522420, 1822420, MythicRaid = 2822420, 1722420 }
|
||||
ItemIDsDatabase[1523059] = { 7523059, 1523059, 1823059, MythicRaid = 2823059, 1723059 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--Tier 1 Tokens
|
||||
|
||||
ItemIDsDatabase[2522360] = { 2522360, 2522360, 2622360, 2722360, MythicRaid = 3722360 }
|
||||
ItemIDsDatabase[2522361] = { 2522361, 2522361, 2622361, 2722361, MythicRaid = 3722361 }
|
||||
ItemIDsDatabase[2522350] = { 2522350, 2522350, 2622350, 2722350, MythicRaid = 3722350 }
|
||||
ItemIDsDatabase[2522362] = { 2522362, 2522362, 2622362, 2722362, MythicRaid = 3722362 }
|
||||
ItemIDsDatabase[2522363] = { 2522363, 2522363, 2622363, 2722363, MythicRaid = 3722363 }
|
||||
ItemIDsDatabase[2522364] = { 2522364, 2522364, 2622364, 2722364, MythicRaid = 3722364 }
|
||||
ItemIDsDatabase[2522359] = { 2522359, 2522359, 2622359, 2722359, MythicRaid = 3722359 }
|
||||
ItemIDsDatabase[2522365] = { 2522365, 2522365, 2622365, 2722365, MythicRaid = 3722365 }
|
||||
|
||||
--Tier 1 New Sets
|
||||
ItemIDsDatabase[11533] = { 6011533, 11533, 311533, 211533 }
|
||||
ItemIDsDatabase[11534] = { 6011534, 11534, 311534, 211534 }
|
||||
ItemIDsDatabase[11535] = { 6011535, 11535, 311535, 211535 }
|
||||
ItemIDsDatabase[11536] = { 6011536, 11536, 311536, 211536 }
|
||||
ItemIDsDatabase[11537] = { 6011537, 11537, 311537, 211537 }
|
||||
ItemIDsDatabase[11538] = { 6011538, 11538, 311538, 211538 }
|
||||
ItemIDsDatabase[11531] = { 6011531, 11531, 311531, 211531 }
|
||||
ItemIDsDatabase[11532] = { 6011532, 11532, 311532, 211532 }
|
||||
|
||||
ItemIDsDatabase[11789] = { 6011789, 11789, 311789, 211789 }
|
||||
ItemIDsDatabase[11790] = { 6011790, 11790, 311790, 211790 }
|
||||
ItemIDsDatabase[11791] = { 6011791, 11791, 311791, 211791 }
|
||||
ItemIDsDatabase[11792] = { 6011792, 11792, 311792, 211792 }
|
||||
ItemIDsDatabase[11793] = { 6011793, 11793, 311793, 211793 }
|
||||
ItemIDsDatabase[11794] = { 6011794, 11794, 311794, 211794 }
|
||||
ItemIDsDatabase[11795] = { 6011795, 11795, 311795, 211795 }
|
||||
ItemIDsDatabase[11796] = { 6011796, 11796, 311796, 211796 }
|
||||
|
||||
ItemIDsDatabase[13432] = { 6013432, 13432, 313432, 213432 }
|
||||
ItemIDsDatabase[13433] = { 6013433, 13433, 313433, 213433 }
|
||||
ItemIDsDatabase[13434] = { 6013434, 13434, 313434, 213434 }
|
||||
ItemIDsDatabase[13435] = { 6013435, 13435, 313435, 213435 }
|
||||
ItemIDsDatabase[13436] = { 6013436, 13436, 313436, 213436 }
|
||||
ItemIDsDatabase[13437] = { 6013437, 13437, 313437, 213437 }
|
||||
ItemIDsDatabase[13438] = { 6013438, 13438, 313438, 213438 }
|
||||
ItemIDsDatabase[13439] = { 6013439, 13439, 313439, 213439 }
|
||||
|
||||
|
||||
--Tier 2 Tokens
|
||||
|
||||
ItemIDsDatabase[2522460] = { 2522460, 2522460, 2622460, 2722460, MythicRaid = 3722460 }
|
||||
ItemIDsDatabase[2522461] = { 2522461, 2522461, 2622461, 2722461, MythicRaid = 3722461 }
|
||||
ItemIDsDatabase[2522450] = { 2522450, 2522450, 2622450, 2722450, MythicRaid = 3722450 }
|
||||
ItemIDsDatabase[2522462] = { 2522462, 2522462, 2622462, 2722462, MythicRaid = 3722462 }
|
||||
ItemIDsDatabase[2522464] = { 2522464, 2522464, 2622464, 2722464, MythicRaid = 3722464 }
|
||||
ItemIDsDatabase[2522463] = { 2522463, 2522463, 2622463, 2722463, MythicRaid = 3722463 }
|
||||
ItemIDsDatabase[2522459] = { 2522459, 2522459, 2622459, 2722459, MythicRaid = 3722459 }
|
||||
ItemIDsDatabase[2522465] = { 2522465, 2522465, 2622465, 2722465, MythicRaid = 3722465 }
|
||||
|
||||
--Tier 2.5 Accessories
|
||||
ItemIDsDatabase[1506053] = { 1506053, 1506053, 1806053, 1706053, MythicRaid = 2806053 } --Ceremonial Qiraji Pendant
|
||||
ItemIDsDatabase[1506052] = { 1506052, 1506052, 1806052, 1706052, MythicRaid = 2806052 } --Ceremonial Qiraji Ring
|
||||
ItemIDsDatabase[1506051] = { 1506051, 1506051, 1806051, 1706051, MythicRaid = 2806051 } --Ceremonial Qiraji Drape
|
||||
|
||||
--AQR New Sets
|
||||
--Heroic = Normal + 300'000
|
||||
--Mythic = Normal + 1'300'000
|
||||
--Ascended = Normal + 200'000
|
||||
--Bloodforged = Normal + 6'000'000
|
||||
--Heroic Bloodforged = Normal + 6'300'000
|
||||
ItemIDsDatabase[1506017] = { 7506017, 1506017, 1806017, 1706017, MythicRaid = 2806017 } --Locket of Unending Life
|
||||
ItemIDsDatabase[1506018] = { 7506018, 1506018, 1806018, 1706018, MythicRaid = 2806018 } --Choker of the Unseen Path
|
||||
ItemIDsDatabase[1506019] = { 7506019, 1506019, 1806019, 1706019, MythicRaid = 2806019 } --Pendant of Roaring Earth
|
||||
ItemIDsDatabase[1506020] = { 7506020, 1506020, 1806020, 1706020, MythicRaid = 2806020 } --Medallion of Eternal Justice
|
||||
ItemIDsDatabase[1506021] = { 7506021, 1506021, 1806021, 1706021, MythicRaid = 2806021 } --Charm of Vaulted Secrets
|
||||
ItemIDsDatabase[1506022] = { 7506022, 1506022, 1806022, 1706022, MythicRaid = 2806022 } --Lariat of Veiled Shadows
|
||||
ItemIDsDatabase[1506023] = { 7506023, 1506023, 1806023, 1706023, MythicRaid = 2806023 } --Bayadere of Infinite Wisdom
|
||||
ItemIDsDatabase[1506024] = { 7506024, 1506024, 1806024, 1706024, MythicRaid = 2806024 } --Necklace of the Gathering Storm
|
||||
ItemIDsDatabase[1506025] = { 7506025, 1506025, 1806025, 1706025, MythicRaid = 2806025 } --Collar of Unyielding Strength
|
||||
ItemIDsDatabase[1506026] = { 7506026, 1506026, 1806026, 1706026, MythicRaid = 2806026 } --Bayadere of Unspoken Names
|
||||
ItemIDsDatabase[1506027] = { 7506027, 1506027, 1806027, 1706027, MythicRaid = 2806027 } --Choker of Endless Machinations
|
||||
ItemIDsDatabase[1506028] = { 7506028, 1506028, 1806028, 1706028, MythicRaid = 2806028 } --Shroud of Endless Machinations
|
||||
ItemIDsDatabase[1506029] = { 7506029, 1506029, 1806029, 1706029, MythicRaid = 2806029 } --Loop of Endless Machinations
|
||||
ItemIDsDatabase[1506030] = { 7506030, 1506030, 1806030, 1706030, MythicRaid = 2806030 } --Signet of Roaring Earth
|
||||
ItemIDsDatabase[1506031] = { 7506031, 1506031, 1806031, 1706031, MythicRaid = 2806031 } --Drape of Roaring Earth
|
||||
ItemIDsDatabase[1506032] = { 7506032, 1506032, 1806032, 1706032, MythicRaid = 2806032 } --Signet of Ferocious Vigor
|
||||
ItemIDsDatabase[1506033] = { 7506033, 1506033, 1806033, 1706033, MythicRaid = 2806033 } --Cape of Ferocious Vigor
|
||||
ItemIDsDatabase[1506034] = { 7506034, 1506034, 1806034, 1706034, MythicRaid = 2806034 } --Choker of Ferocious Vigor
|
||||
ItemIDsDatabase[1506035] = { 7506035, 1506035, 1806035, 1706035, MythicRaid = 2806035 } --Band of the Faithful Zealot
|
||||
ItemIDsDatabase[1506036] = { 7506036, 1506036, 1806036, 1706036, MythicRaid = 2806036 } --Shroud of the Faithful Zealot
|
||||
ItemIDsDatabase[1506037] = { 7506037, 1506037, 1806037, 1706037, MythicRaid = 2806037 } --Locket of the Faithful Zealot
|
||||
ItemIDsDatabase[1506038] = { 7506038, 1506038, 1806038, 1706038, MythicRaid = 2806038 } --Band of Masterful Technique
|
||||
ItemIDsDatabase[1506039] = { 7506039, 1506039, 1806039, 1706039, MythicRaid = 2806039 } --Drape of Masterful Technique
|
||||
ItemIDsDatabase[1506040] = { 7506040, 1506040, 1806040, 1706040, MythicRaid = 2806040 } --Locket of Masterful Technique
|
||||
ItemIDsDatabase[1506041] = { 7506041, 1506041, 1806041, 1706041, MythicRaid = 2806041 } --Ring of Martial Prowess
|
||||
ItemIDsDatabase[1506042] = { 7506042, 1506042, 1806042, 1706042, MythicRaid = 2806042 } --Cloak of Martial Prowess
|
||||
ItemIDsDatabase[1506043] = { 7506043, 1506043, 1806043, 1706043, MythicRaid = 2806043 } --Lariat of Martial Prowess
|
||||
ItemIDsDatabase[1506044] = { 7506044, 1506044, 1806044, 1706044, MythicRaid = 2806044 } --Signet of Unrivaled Rage
|
||||
ItemIDsDatabase[1506045] = { 7506045, 1506045, 1806045, 1706045, MythicRaid = 2806045 } --Cloak of Unrivaled Rage
|
||||
ItemIDsDatabase[1506046] = { 7506046, 1506046, 1806046, 1706046, MythicRaid = 2806046 } --Collar of Unrivaled Rage
|
||||
ItemIDsDatabase[1506047] = { 7506047, 1506047, 1806047, 1706047, MythicRaid = 2806047 } --Loop of Expansive Research
|
||||
ItemIDsDatabase[1506048] = { 7506048, 1506048, 1806048, 1706048, MythicRaid = 2806048 } --Drape of Expansive Research
|
||||
ItemIDsDatabase[1506049] = { 7506049, 1506049, 1806049, 1706049, MythicRaid = 2806049 } --Bayadere of Expansive Research
|
||||
|
||||
|
||||
--Tier 2.5 New Sets
|
||||
--Heroic = Normal + 300'000
|
||||
--Mythic = Normal + 1'300'000
|
||||
--Ascended = Normal + 200'000
|
||||
--Bloodforged = Normal + 6'000'000
|
||||
--Heroic Bloodforged = Normal + 6'300'000
|
||||
ItemIDsDatabase[1507000] = { 7507000, 1507000, 1807000, 1707000, MythicRaid = 2807000 }-- Conqueror's Tusks
|
||||
ItemIDsDatabase[1507001] = { 7507001, 1507001, 1807001, 1707001, MythicRaid = 2807001 }-- Conqueror's Shoulderplates
|
||||
ItemIDsDatabase[1507002] = { 7507002, 1507002, 1807002, 1707002, MythicRaid = 2807002 }-- Conqueror's Carapace
|
||||
ItemIDsDatabase[1507003] = { 7507003, 1507003, 1807003, 1707003, MythicRaid = 2807003 }-- Conqueror's Tassets
|
||||
ItemIDsDatabase[1507004] = { 7507004, 1507004, 1807004, 1707004, MythicRaid = 2807004 }-- Conqueror's Advance
|
||||
|
||||
ItemIDsDatabase[1507015] = { 7507015, 1507015, 1807015, 1707015, MythicRaid = 2807015 }-- Stormcaller's Crown
|
||||
ItemIDsDatabase[1507016] = { 7507016, 1507016, 1807016, 1707016, MythicRaid = 2807016 }-- Stormcaller's Stompers
|
||||
ItemIDsDatabase[1507017] = { 7507017, 1507017, 1807017, 1707017, MythicRaid = 2807017 }-- Stormcaller's Chestguard
|
||||
ItemIDsDatabase[1507018] = { 7507018, 1507018, 1807018, 1707018, MythicRaid = 2807018 }-- Stormcaller's Greaves
|
||||
ItemIDsDatabase[1507019] = { 7507019, 1507019, 1807019, 1707019, MythicRaid = 2807019 }-- Stormcaller's Epaulets
|
||||
|
||||
ItemIDsDatabase[1507020] = { 7507020, 1507020, 1807020, 1707020, MythicRaid = 2807020 }-- Genesis Visor
|
||||
ItemIDsDatabase[1507021] = { 7507021, 1507021, 1807021, 1707021, MythicRaid = 2807021 }-- Genesis Pauldrons
|
||||
ItemIDsDatabase[1507022] = { 7507022, 1507022, 1807022, 1707022, MythicRaid = 2807022 }-- Genesis Footwraps
|
||||
ItemIDsDatabase[1507023] = { 7507023, 1507023, 1807023, 1707023, MythicRaid = 2807023 }-- Genesis Legguards
|
||||
ItemIDsDatabase[1507024] = { 7507024, 1507024, 1807024, 1707024, MythicRaid = 2807024 }-- Genesis Garb
|
||||
|
||||
ItemIDsDatabase[1507025] = { 7507025, 1507025, 1807025, 1707025, MythicRaid = 2807025 }-- Genesis Mask
|
||||
ItemIDsDatabase[1507026] = { 7507026, 1507026, 1807026, 1707026, MythicRaid = 2807026 }-- Genesis Shoulderpads
|
||||
ItemIDsDatabase[1507027] = { 7507027, 1507027, 1807027, 1707027, MythicRaid = 2807027 }-- Genesis Treads
|
||||
ItemIDsDatabase[1507028] = { 7507028, 1507028, 1807028, 1707028, MythicRaid = 2807028 }-- Genesis Pants
|
||||
ItemIDsDatabase[1507029] = { 7507029, 1507029, 1807029, 1707029, MythicRaid = 2807029 }-- Genesis Carapace
|
||||
|
||||
ItemIDsDatabase[1507030] = { 7507030, 1507030, 1807030, 1707030, MythicRaid = 2807030 }-- Avenger's Carapace
|
||||
ItemIDsDatabase[1507031] = { 7507031, 1507031, 1807031, 1707031, MythicRaid = 2807031 }-- Avenger's Laurels
|
||||
ItemIDsDatabase[1507032] = { 7507032, 1507032, 1807032, 1707032, MythicRaid = 2807032 }-- Avenger's Sabatons
|
||||
ItemIDsDatabase[1507033] = { 7507033, 1507033, 1807033, 1707033, MythicRaid = 2807033 }-- Avenger's Legplates
|
||||
ItemIDsDatabase[1507034] = { 7507034, 1507034, 1807034, 1707034, MythicRaid = 2807034 }-- Avenger's Shoulderguards
|
||||
|
||||
|
||||
|
||||
--Tier 3 Tokens
|
||||
|
||||
ItemIDsDatabase[22353] = { 22353, 22353, 102278, 222353 }
|
||||
ItemIDsDatabase[22354] = { 22354, 22354, 102286, 222354 }
|
||||
ItemIDsDatabase[22349] = { 22349, 22349, 102264, 222349 }
|
||||
ItemIDsDatabase[22355] = { 22355, 22355, 102262, 222355 }
|
||||
ItemIDsDatabase[22357] = { 22357, 22357, 102268, 222357 }
|
||||
ItemIDsDatabase[22356] = { 22356, 22356, 102300, 222356 }
|
||||
ItemIDsDatabase[22352] = { 22352, 22352, 102284, 222352 }
|
||||
ItemIDsDatabase[22358] = { 22358, 22358, 102290, 222358 }
|
||||
|
||||
--Tier 4 Tokens
|
||||
|
||||
ItemIDsDatabase[29761] = { 29761, 29761, 329761, 229761 }
|
||||
ItemIDsDatabase[29764] = { 29764, 29764, 329764, 229764 }
|
||||
ItemIDsDatabase[29753] = { 29753, 29753, 329753, 229753 }
|
||||
ItemIDsDatabase[29758] = { 29758, 29758, 329758, 229758 }
|
||||
ItemIDsDatabase[29767] = { 29767, 29767, 329767, 229767 }
|
||||
|
||||
--Tier 5 Tokens
|
||||
|
||||
ItemIDsDatabase[30243] = { 30243, 30243, 330243, 230243 }
|
||||
ItemIDsDatabase[30249] = { 30249, 30249, 330249, 230249 }
|
||||
ItemIDsDatabase[30237] = { 30237, 30237, 330237, 230237 }
|
||||
ItemIDsDatabase[30240] = { 30240, 30240, 330240, 230240 }
|
||||
ItemIDsDatabase[30246] = { 30246, 30246, 330246, 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 }
|
||||
|
||||
--ZA New Items
|
||||
ItemIDsDatabase[21824] = { 6021824, 21824, 321824, 221824 }
|
||||
ItemIDsDatabase[24574] = { 6024574, 24574, 324574, 224574 }
|
||||
ItemIDsDatabase[28354] = { 6028354, 28354, 328354, 228354 }
|
||||
ItemIDsDatabase[33059] = { 6033059, 33059, 333059, 233059 }
|
||||
ItemIDsDatabase[33983] = { 6033983, 33983, 333983, 233983 }
|
||||
ItemIDsDatabase[39755] = { 6039755, 39755, 339755, 239755 }
|
||||
ItemIDsDatabase[33533] = { 6033533, 33533, 333533, 233533 }
|
||||
ItemIDsDatabase[33979] = { 6033979, 33979, 333979, 233979 }
|
||||
ItemIDsDatabase[34071] = { 6034071, 34071, 334071, 234071 }
|
||||
ItemIDsDatabase[38634] = { 6038634, 38634, 338634, 238634 }
|
||||
ItemIDsDatabase[33500] = { 6033500, 33500, 333500, 233500 }
|
||||
ItemIDsDatabase[33496] = { 6033496, 33496, 333496, 233496 }
|
||||
ItemIDsDatabase[33498] = { 6033498, 33498, 333498, 233498 }
|
||||
ItemIDsDatabase[33971] = { 6033971, 33971, 333971, 233971 }
|
||||
ItemIDsDatabase[33495] = { 6033495, 33495, 333495, 233495 }
|
||||
ItemIDsDatabase[33480] = { 6033480, 33480, 333480, 233480 }
|
||||
ItemIDsDatabase[33591] = { 6033591, 33591, 333591, 233591 }
|
||||
ItemIDsDatabase[33590] = { 6033590, 33590, 333590, 233590 }
|
||||
ItemIDsDatabase[33481] = { 6033481, 33481, 333481, 233481 }
|
||||
ItemIDsDatabase[33492] = { 6033492, 33492, 333492, 233492 }
|
||||
ItemIDsDatabase[33499] = { 6033499, 33499, 333499, 233499 }
|
||||
ItemIDsDatabase[33805] = { 6033805, 33805, 333805, 233805 }
|
||||
ItemIDsDatabase[33491] = { 6033491, 33491, 333491, 233491 }
|
||||
ItemIDsDatabase[33490] = { 6033490, 33490, 333490, 233490 }
|
||||
ItemIDsDatabase[33489] = { 6033489, 33489, 333489, 233489 }
|
||||
ItemIDsDatabase[33483] = { 6033483, 33483, 333483, 233483 }
|
||||
ItemIDsDatabase[33493] = { 6033493, 33493, 333493, 233493 }
|
||||
ItemIDsDatabase[33497] = { 6033497, 33497, 333497, 233497 }
|
||||
ItemIDsDatabase[33494] = { 6033494, 33494, 333494, 233494 }
|
||||
ItemIDsDatabase[24537] = { 6024537, 24537, 324537, 224537 }
|
||||
--ZA Bears
|
||||
ItemIDsDatabase[1333809] = { 1333809, 1333809, 1433809, 1233809 }
|
||||
|
||||
--intact vial of kael'thas sunstrider
|
||||
ItemIDsDatabase[450001] = { 450001, 450001, 450003, 450005, MythicRaid = 1450003 }
|
||||
ItemIDsDatabase[450000] = { 450000, 450000, 450002, 450004, MythicRaid = 1450002 }
|
||||
|
||||
ItemIDsDatabase[1001620] = { 1001620, 1001620, 1001619, 1001622, MythicRaid = 1001621 }
|
||||
ItemIDsDatabase[98570] = { 98570, 98570, 98570, 98570, MythicRaid = 98570 }
|
||||
|
||||
ItemIDsDatabase[31039] = { 6031039, 31039, 331039, 231039 }
|
||||
ItemIDsDatabase[31048] = { 6031048, 31048, 331048, 231048 }
|
||||
ItemIDsDatabase[31042] = { 6031042, 31042, 331042, 231042 }
|
||||
ItemIDsDatabase[34444] = { 6034444, 34444, 334444, 234444 }
|
||||
ItemIDsDatabase[31034] = { 6031034, 31034, 331034, 231034 }
|
||||
ItemIDsDatabase[34556] = { 6034556, 34556, 334556, 234556 }
|
||||
ItemIDsDatabase[31044] = { 6031044, 31044, 331044, 231044 }
|
||||
ItemIDsDatabase[34573] = { 6034573, 34573, 334573, 234573 }
|
||||
ItemIDsDatabase[31037] = { 6031037, 31037, 331037, 231037 }
|
||||
ItemIDsDatabase[31047] = { 6031047, 31047, 331047, 231047 }
|
||||
ItemIDsDatabase[31041] = { 6031041, 31041, 331041, 231041 }
|
||||
ItemIDsDatabase[34445] = { 6034445, 34445, 334445, 234445 }
|
||||
ItemIDsDatabase[31032] = { 6031032, 31032, 331032, 231032 }
|
||||
ItemIDsDatabase[34554] = { 6034554, 34554, 334554, 234554 }
|
||||
ItemIDsDatabase[31045] = { 6031045, 31045, 331045, 231045 }
|
||||
ItemIDsDatabase[34571] = { 6034571, 34571, 334571, 234571 }
|
||||
ItemIDsDatabase[31040] = { 6031040, 31040, 331040, 231040 }
|
||||
ItemIDsDatabase[31049] = { 6031049, 31049, 331049, 231049 }
|
||||
ItemIDsDatabase[31043] = { 6031043, 31043, 331043, 231043 }
|
||||
ItemIDsDatabase[34446] = { 6034446, 34446, 334446, 234446 }
|
||||
ItemIDsDatabase[31035] = { 6031035, 31035, 331035, 231035 }
|
||||
ItemIDsDatabase[34555] = { 6034555, 34555, 334555, 234555 }
|
||||
ItemIDsDatabase[31046] = { 6031046, 31046, 331046, 231046 }
|
||||
ItemIDsDatabase[34572] = { 6034572, 34572, 334572, 234572 }
|
||||
ItemIDsDatabase[31003] = { 6031003, 31003, 331003, 231003 }
|
||||
ItemIDsDatabase[31006] = { 6031006, 31006, 331006, 231006 }
|
||||
ItemIDsDatabase[31004] = { 6031004, 31004, 331004, 231004 }
|
||||
ItemIDsDatabase[34443] = { 6034443, 34443, 334443, 234443 }
|
||||
ItemIDsDatabase[31001] = { 6031001, 31001, 331001, 231001 }
|
||||
ItemIDsDatabase[34549] = { 6034549, 34549, 334549, 234549 }
|
||||
ItemIDsDatabase[31005] = { 6031005, 31005, 331005, 231005 }
|
||||
ItemIDsDatabase[34570] = { 6034570, 34570, 334570, 234570 }
|
||||
ItemIDsDatabase[31056] = { 6031056, 31056, 331056, 231056 }
|
||||
ItemIDsDatabase[31059] = { 6031059, 31059, 331059, 231059 }
|
||||
ItemIDsDatabase[31057] = { 6031057, 31057, 331057, 231057 }
|
||||
ItemIDsDatabase[34447] = { 6034447, 34447, 334447, 234447 }
|
||||
ItemIDsDatabase[31055] = { 6031055, 31055, 331055, 231055 }
|
||||
ItemIDsDatabase[34557] = { 6034557, 34557, 334557, 234557 }
|
||||
ItemIDsDatabase[31058] = { 6031058, 31058, 331058, 231058 }
|
||||
ItemIDsDatabase[34574] = { 6034574, 34574, 334574, 234574 }
|
||||
ItemIDsDatabase[30987] = { 6030987, 30987, 330987, 230987 }
|
||||
ItemIDsDatabase[30998] = { 6030998, 30998, 330998, 230998 }
|
||||
ItemIDsDatabase[30991] = { 6030991, 30991, 330991, 230991 }
|
||||
ItemIDsDatabase[34433] = { 6034433, 34433, 334433, 234433 }
|
||||
ItemIDsDatabase[30985] = { 6030985, 30985, 330985, 230985 }
|
||||
ItemIDsDatabase[34488] = { 6034488, 34488, 334488, 234488 }
|
||||
ItemIDsDatabase[30995] = { 6030995, 30995, 330995, 230995 }
|
||||
ItemIDsDatabase[34560] = { 6034560, 34560, 334560, 234560 }
|
||||
ItemIDsDatabase[30989] = { 6030989, 30989, 330989, 230989 }
|
||||
ItemIDsDatabase[30997] = { 6030997, 30997, 330997, 230997 }
|
||||
ItemIDsDatabase[30990] = { 6030990, 30990, 330990, 230990 }
|
||||
ItemIDsDatabase[34431] = { 6034431, 34431, 334431, 234431 }
|
||||
ItemIDsDatabase[30982] = { 6030982, 30982, 330982, 230982 }
|
||||
ItemIDsDatabase[34485] = { 6034485, 34485, 334485, 234485 }
|
||||
ItemIDsDatabase[30993] = { 6030993, 30993, 330993, 230993 }
|
||||
ItemIDsDatabase[34561] = { 6034561, 34561, 334561, 234561 }
|
||||
ItemIDsDatabase[30988] = { 6030988, 30988, 330988, 230988 }
|
||||
ItemIDsDatabase[30996] = { 6030996, 30996, 330996, 230996 }
|
||||
ItemIDsDatabase[30992] = { 6030992, 30992, 330992, 230992 }
|
||||
ItemIDsDatabase[34432] = { 6034432, 34432, 334432, 234432 }
|
||||
ItemIDsDatabase[30983] = { 6030983, 30983, 330983, 230983 }
|
||||
ItemIDsDatabase[34487] = { 6034487, 34487, 334487, 234487 }
|
||||
ItemIDsDatabase[30994] = { 6030994, 30994, 330994, 230994 }
|
||||
ItemIDsDatabase[34559] = { 6034559, 34559, 334559, 234559 }
|
||||
ItemIDsDatabase[31063] = { 6031063, 31063, 331063, 231063 }
|
||||
ItemIDsDatabase[31069] = { 6031069, 31069, 331069, 231069 }
|
||||
ItemIDsDatabase[31066] = { 6031066, 31066, 331066, 231066 }
|
||||
ItemIDsDatabase[34435] = { 6034435, 34435, 334435, 234435 }
|
||||
ItemIDsDatabase[31060] = { 6031060, 31060, 331060, 231060 }
|
||||
ItemIDsDatabase[34527] = { 6034527, 34527, 334527, 234527 }
|
||||
ItemIDsDatabase[31068] = { 6031068, 31068, 331068, 231068 }
|
||||
ItemIDsDatabase[34562] = { 6034562, 34562, 334562, 234562 }
|
||||
ItemIDsDatabase[31064] = { 6031064, 31064, 331064, 231064 }
|
||||
ItemIDsDatabase[31070] = { 6031070, 31070, 331070, 231070 }
|
||||
ItemIDsDatabase[31065] = { 6031065, 31065, 331065, 231065 }
|
||||
ItemIDsDatabase[34434] = { 6034434, 34434, 334434, 234434 }
|
||||
ItemIDsDatabase[31061] = { 6031061, 31061, 331061, 231061 }
|
||||
ItemIDsDatabase[34528] = { 6034528, 34528, 334528, 234528 }
|
||||
ItemIDsDatabase[31067] = { 6031067, 31067, 331067, 231067 }
|
||||
ItemIDsDatabase[34563] = { 6034563, 34563, 334563, 234563 }
|
||||
ItemIDsDatabase[31027] = { 6031027, 31027, 331027, 231027 }
|
||||
ItemIDsDatabase[31030] = { 6031030, 31030, 331030, 231030 }
|
||||
ItemIDsDatabase[31028] = { 6031028, 31028, 331028, 231028 }
|
||||
ItemIDsDatabase[34448] = { 6034448, 34448, 334448, 234448 }
|
||||
ItemIDsDatabase[31026] = { 6031026, 31026, 331026, 231026 }
|
||||
ItemIDsDatabase[34558] = { 6034558, 34558, 334558, 234558 }
|
||||
ItemIDsDatabase[31029] = { 6031029, 31029, 331029, 231029 }
|
||||
ItemIDsDatabase[34575] = { 6034575, 34575, 334575, 234575 }
|
||||
ItemIDsDatabase[31015] = { 6031015, 31015, 331015, 231015 }
|
||||
ItemIDsDatabase[31024] = { 6031024, 31024, 331024, 231024 }
|
||||
ItemIDsDatabase[31018] = { 6031018, 31018, 331018, 231018 }
|
||||
ItemIDsDatabase[34439] = { 6034439, 34439, 334439, 234439 }
|
||||
ItemIDsDatabase[31011] = { 6031011, 31011, 331011, 231011 }
|
||||
ItemIDsDatabase[34545] = { 6034545, 34545, 334545, 234545 }
|
||||
ItemIDsDatabase[31021] = { 6031021, 31021, 331021, 231021 }
|
||||
ItemIDsDatabase[34567] = { 6034567, 34567, 334567, 234567 }
|
||||
ItemIDsDatabase[31012] = { 6031012, 31012, 331012, 231012 }
|
||||
ItemIDsDatabase[31022] = { 6031022, 31022, 331022, 231022 }
|
||||
ItemIDsDatabase[31016] = { 6031016, 31016, 331016, 231016 }
|
||||
ItemIDsDatabase[34438] = { 6034438, 34438, 334438, 234438 }
|
||||
ItemIDsDatabase[31007] = { 6031007, 31007, 331007, 231007 }
|
||||
ItemIDsDatabase[34543] = { 6034543, 34543, 334543, 234543 }
|
||||
ItemIDsDatabase[31019] = { 6031019, 31019, 331019, 231019 }
|
||||
ItemIDsDatabase[34565] = { 6034565, 34565, 334565, 234565 }
|
||||
ItemIDsDatabase[31014] = { 6031014, 31014, 331014, 231014 }
|
||||
ItemIDsDatabase[31023] = { 6031023, 31023, 331023, 231023 }
|
||||
ItemIDsDatabase[31017] = { 6031017, 31017, 331017, 231017 }
|
||||
ItemIDsDatabase[34437] = { 6034437, 34437, 334437, 234437 }
|
||||
ItemIDsDatabase[31008] = { 6031008, 31008, 331008, 231008 }
|
||||
ItemIDsDatabase[34542] = { 6034542, 34542, 334542, 234542 }
|
||||
ItemIDsDatabase[31020] = { 6031020, 31020, 331020, 231020 }
|
||||
ItemIDsDatabase[34566] = { 6034566, 34566, 334566, 234566 }
|
||||
ItemIDsDatabase[31051] = { 6031051, 31051, 331051, 231051 }
|
||||
ItemIDsDatabase[31054] = { 6031054, 31054, 331054, 231054 }
|
||||
ItemIDsDatabase[31052] = { 6031052, 31052, 331052, 231052 }
|
||||
ItemIDsDatabase[34436] = { 6034436, 34436, 334436, 234436 }
|
||||
ItemIDsDatabase[31050] = { 6031050, 31050, 331050, 231050 }
|
||||
ItemIDsDatabase[34541] = { 6034541, 34541, 334541, 234541 }
|
||||
ItemIDsDatabase[31053] = { 6031053, 31053, 331053, 231053 }
|
||||
ItemIDsDatabase[34564] = { 6034564, 34564, 334564, 234564 }
|
||||
ItemIDsDatabase[30974] = { 6030974, 30974, 330974, 230974 }
|
||||
ItemIDsDatabase[30980] = { 6030980, 30980, 330980, 230980 }
|
||||
ItemIDsDatabase[30976] = { 6030976, 30976, 330976, 230976 }
|
||||
ItemIDsDatabase[34442] = { 6034442, 34442, 334442, 234442 }
|
||||
ItemIDsDatabase[30970] = { 6030970, 30970, 330970, 230970 }
|
||||
ItemIDsDatabase[34547] = { 6034547, 34547, 334547, 234547 }
|
||||
ItemIDsDatabase[30978] = { 6030978, 30978, 330978, 230978 }
|
||||
ItemIDsDatabase[34568] = { 6034568, 34568, 334568, 234568 }
|
||||
ItemIDsDatabase[30972] = { 6030972, 30972, 330972, 230972 }
|
||||
ItemIDsDatabase[30979] = { 6030979, 30979, 330979, 230979 }
|
||||
ItemIDsDatabase[30975] = { 6030975, 30975, 330975, 230975 }
|
||||
ItemIDsDatabase[34441] = { 6034441, 34441, 334441, 234441 }
|
||||
ItemIDsDatabase[30969] = { 6030969, 30969, 330969, 230969 }
|
||||
ItemIDsDatabase[34546] = { 6034546, 34546, 334546, 234546 }
|
||||
ItemIDsDatabase[30977] = { 6030977, 30977, 330977, 230977 }
|
||||
ItemIDsDatabase[34569] = { 6034569, 34569, 334569, 234569 }
|
||||
ItemIDsDatabase[14986] = { 6014986, 14986, 314986, 214986 }
|
||||
|
||||
ItemIDsDatabase[15839] = { 6015839, 15839, 315839, 215839 }
|
||||
ItemIDsDatabase[15899] = { 6015899, 15899, 315899, 215899 }
|
||||
ItemIDsDatabase[15896] = { 6015896, 15896, 315896, 215896 }
|
||||
ItemIDsDatabase[18764] = { 6018764, 18764, 318764, 218764 }
|
||||
ItemIDsDatabase[15828] = { 6015828, 15828, 315828, 215828 }
|
||||
ItemIDsDatabase[15838] = { 6015838, 15838, 315838, 215838 }
|
||||
ItemIDsDatabase[15831] = { 6015831, 15831, 315831, 215831 }
|
||||
ItemIDsDatabase[15834] = { 6015834, 15834, 315834, 215834 }
|
||||
ItemIDsDatabase[15898] = { 6015898, 15898, 315898, 215898 }
|
||||
ItemIDsDatabase[15830] = { 6015830, 15830, 315830, 215830 }
|
||||
ItemIDsDatabase[15041] = { 6015041, 15041, 315041, 215041 }
|
||||
ItemIDsDatabase[15836] = { 6015836, 15836, 315836, 215836 }
|
||||
ItemIDsDatabase[15835] = { 6015835, 15835, 315835, 215835 }
|
||||
ItemIDsDatabase[15840] = { 6015840, 15840, 315840, 215840 }
|
||||
|
||||
ItemIDsDatabase[30312] = { 30312, 30312, 282620, 30312, MythicRaid = 30312 } --Infinity Blade
|
||||
ItemIDsDatabase[30311] = { 30311, 30311, 330311, 30311, MythicRaid = 30311 } --Warp Slicer
|
||||
ItemIDsDatabase[30317] = { 30317, 30317, 282672, 30317, MythicRaid = 30317 } --Cosmic Infuser
|
||||
ItemIDsDatabase[30316] = { 30316, 30316, 282659, 30316, MythicRaid = 30316 } --Devastation
|
||||
ItemIDsDatabase[30313] = { 30313, 30313, 282633, 30313, MythicRaid = 30313 } --Staff of Disintegration
|
||||
ItemIDsDatabase[30314] = { 30314, 30314, 282646, 30314, MythicRaid = 30314 } --Phaseshift Bulwark
|
||||
ItemIDsDatabase[30318] = { 30318, 30318, 282685, 30318, MythicRaid = 30318 } --Netherstrand Longbow
|
||||
ItemIDsDatabase[30319] = { 30319, 30319, 30319, 30319, MythicRaid = 30319 } --Nether Spike
|
||||
|
||||
ItemIDsDatabase[450009] = {450009, 450009, 450011, 450015, MythicRaid = 450013}; --The String of Time
|
||||
|
||||
ItemIDsDatabase[33642] = {6033642, 33642, 333642, 233642, MythicRaid = 1333642};
|
||||
ItemIDsDatabase[33645] = {6033645, 33645, 333645, 233645, MythicRaid = 1333645};
|
||||
ItemIDsDatabase[33643] = {6033643, 33643, 333643, 233643, MythicRaid = 1333643};
|
||||
ItemIDsDatabase[33646] = {6033646, 33646, 333646, 233646, MythicRaid = 1333646};
|
||||
ItemIDsDatabase[33641] = {6033641, 33641, 333641, 233641, MythicRaid = 1333641};
|
||||
ItemIDsDatabase[33647] = {6033647, 33647, 333647, 233647, MythicRaid = 1333647};
|
||||
ItemIDsDatabase[33644] = {6033644, 33644, 333644, 233644, MythicRaid = 1333644};
|
||||
ItemIDsDatabase[33648] = {6033648, 33648, 333648, 233648, MythicRaid = 1333648};
|
||||
|
||||
for _, v in pairs(ItemIDsDatabase) do
|
||||
if not v["MythicRaid"] then
|
||||
v["MythicRaid"] = tonumber("13"..v[2])
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,840 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
|
||||
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
|
||||
local HORDE = {"|cffff0000","Horde"}
|
||||
local ALLIANCE = {"|cff1eff00", "Alliance"}
|
||||
local NEUTRAL = {"|cffFF8400", "Neutral"}
|
||||
local WHITE = "|cffFFFFFF"
|
||||
|
||||
AtlasLoot_CraftingData["VendorList"] = {
|
||||
[66] = { AL["Tharynn Bouden"], BabbleZone["Elwynn Forest"], 41.9, 67.1, ALLIANCE},
|
||||
[340] = { AL["Kendor Kabonka"], BabbleZone["Stormwind City"], 77.5, 53.5, ALLIANCE},
|
||||
[734] = { AL["Corporal Bluth"], BabbleZone["Stranglethorn Vale"], 38.0, 3.0, ALLIANCE},
|
||||
[777] = { AL["Amy Davenport"], BabbleZone["Redridge Mountains"], 29.1, 47.5, ALLIANCE},
|
||||
[843] = { AL["Gina MacGregor"], BabbleZone["Westfall"], 57.6, 54.0, ALLIANCE},
|
||||
[989] = { AL["Banalash"], BabbleZone["Swamp of Sorrows"], 44.7, 56.7, HORDE},
|
||||
[1146] = { AL["Vharr"], BabbleZone["Stranglethorn Vale"], 32.3, 28.0, HORDE},
|
||||
[1148] = { AL["Nerrist"], BabbleZone["Stranglethorn Vale"], 32.7, 29.2, HORDE},
|
||||
[1149] = { AL["Uthok"], BabbleZone["Stranglethorn Vale"], 31.6, 28.0, HORDE},
|
||||
[1250] = { AL["Drake Lindgren"], BabbleZone["Elwynn Forest"], 83.3, 66.7, ALLIANCE},
|
||||
[1286] = { AL["Edna Mullby"], BabbleZone["Stormwind City"], 64.6, 71.5, ALLIANCE},
|
||||
[1313] = { AL["Maria Lumere"], BabbleZone["Stormwind City"], 55.7, 85.5, ALLIANCE},
|
||||
[1318] = { AL["Jessara Cordell"], BabbleZone["Stormwind City"], 53.0, 74.2, ALLIANCE},
|
||||
[1347] = { AL["Alexandra Bolero"], BabbleZone["Stormwind City"], 53.3, 81.7, ALLIANCE},
|
||||
[1448] = { AL["Neal Allen"], BabbleZone["Wetlands"], 10.7, 56.8, ALLIANCE},
|
||||
[1454] = { AL["Jennabink Powerseam"], BabbleZone["Wetlands"], 8.1, 55.9, ALLIANCE},
|
||||
[1465] = { AL["Drac Roughcut"], BabbleZone["Loch Modan"], 35.6, 49.0, ALLIANCE},
|
||||
[1471] = { AL["Jannos Ironwill"], BabbleZone["Arathi Highlands"], 46.0, 47.7, ALLIANCE},
|
||||
[1474] = { AL["Rann Flamespinner"], BabbleZone["Loch Modan"], 36.0, 46.0, ALLIANCE},
|
||||
[1669] = { AL["Defias Profiteer"], BabbleZone["Westfall"], 43.5, 66.9, NEUTRAL},
|
||||
[1684] = { AL["Khara Deepwater"], BabbleZone["Loch Modan"], 39.5, 39.3, ALLIANCE},
|
||||
[1685] = { AL["Xandar Goodbeard"], BabbleZone["Loch Modan"], 82.5, 63.5, ALLIANCE},
|
||||
[2118] = { AL["Abigail Shiel"], BabbleZone["Tirisfal Glades"], 61.0, 52.5, HORDE},
|
||||
[2380] = { AL["Nandar Branson"], BabbleZone["Hillsbrad Foothills"], 50.9, 57.1, ALLIANCE},
|
||||
[2381] = { AL["Micha Yance"], BabbleZone["Hillsbrad Foothills"], 49.0, 55.1, ALLIANCE},
|
||||
[2383] = { AL["Lindea Rabonne"], BabbleZone["Hillsbrad Foothills"], 50.6, 61.0, ALLIANCE},
|
||||
[2393] = { AL["Christoph Jeffcoat"], BabbleZone["Hillsbrad Foothills"], 62.4, 19.1, HORDE},
|
||||
[2394] = { AL["Mallen Swain"], BabbleZone["Hillsbrad Foothills"], 62.0, 20.9, HORDE},
|
||||
[2397] = { AL["Derak Nightfall"], BabbleZone["Hillsbrad Foothills"], 63.0, 18.5, HORDE},
|
||||
[2480] = { AL["Bro'kin"], BabbleZone["Alterac Mountains"], 38.3, 38.8, NEUTRAL},
|
||||
[2481] = { AL["Bliztik"], BabbleZone["Duskwood"], 18.0, 54.5, NEUTRAL},
|
||||
[2482] = { AL["Zarena Cromwind"], BabbleZone["Stranglethorn Vale"], 28.4, 75.5, NEUTRAL},
|
||||
[2483] = { AL["Jaquilina Dramet"], BabbleZone["Stranglethorn Vale"], 35.7, 10.7, NEUTRAL},
|
||||
[2663] = { AL["Narkk"], BabbleZone["Stranglethorn Vale"], 28.2, 74.5, NEUTRAL},
|
||||
[2664] = { AL["Kelsey Yance"], BabbleZone["Stranglethorn Vale"], 28.2, 74.4, NEUTRAL},
|
||||
[2668] = { AL["Danielle Zipstitch"], BabbleZone["Duskwood"], 75.8, 45.5, ALLIANCE},
|
||||
[2669] = { AL["Sheri Zipstitch"], BabbleZone["Duskwood"], 75.7, 45.5, ALLIANCE},
|
||||
[2670] = { AL["Xizk Goodstitch"], BabbleZone["Stranglethorn Vale"], 28.7, 76.8, NEUTRAL},
|
||||
[2672] = { AL["Cowardly Crosby"], BabbleZone["Stranglethorn Vale"], 27.0, 82.5, NEUTRAL},
|
||||
[2679] = { AL["Wenna Silkbeard"], BabbleZone["Wetlands"], 25.7, 25.8, ALLIANCE},
|
||||
[2682] = { AL["Fradd Swiftgear"], BabbleZone["Wetlands"], 26.4, 25.8, ALLIANCE},
|
||||
[2683] = { AL["Namdo Bizzfizzle"], BabbleZone["Gnomeregan"], 0, 0, ALLIANCE},
|
||||
[2684] = { AL["Rizz Loosebolt"], BabbleZone["Alterac Mountains"], 47.4, 35.3, NEUTRAL},
|
||||
[2685] = { AL["Mazk Snipeshot"], BabbleZone["Stranglethorn Vale"], 28.5, 75.1, NEUTRAL},
|
||||
[2687] = { AL["Gnaz Blunderflame"], BabbleZone["Stranglethorn Vale"], 51.0, 35.3, NEUTRAL},
|
||||
[2688] = { AL["Ruppo Zipcoil"], BabbleZone["The Hinterlands"], 34.3, 37.9, NEUTRAL},
|
||||
[2697] = { AL["Clyde Ranthal"], BabbleZone["Redridge Mountains"], 88.9, 70.9, ALLIANCE},
|
||||
[2698] = { AL["George Candarte"], BabbleZone["Hillsbrad Foothills"], 92.0, 38.4, HORDE},
|
||||
[2699] = { AL["Rikqiz"], BabbleZone["Stranglethorn Vale"], 28.5, 76.0, NEUTRAL},
|
||||
[2803] = { AL["Malygen"], BabbleZone["Felwood"], 62.3, 25.6, ALLIANCE},
|
||||
[2806] = { AL["Bale"], BabbleZone["Felwood"], 34.8, 53.1, HORDE},
|
||||
[2810] = { AL["Hammon Karwn"], BabbleZone["Arathi Highlands"], 46.5, 47.3, ALLIANCE},
|
||||
[2812] = { AL["Drovnar Strongbrew"], BabbleZone["Arathi Highlands"], 46.4, 47.1, ALLIANCE},
|
||||
[2814] = { AL["Narj Deepslice"], BabbleZone["Arathi Highlands"], 45.6, 47.6, ALLIANCE},
|
||||
[2816] = { AL["Androd Fadran"], BabbleZone["Arathi Highlands"], 45.0, 46.9, ALLIANCE},
|
||||
[2819] = { AL["Tunkk"], BabbleZone["Arathi Highlands"], 74.8, 34.5, HORDE},
|
||||
[2821] = { AL["Keena"], BabbleZone["Arathi Highlands"], 74.0, 32.7, HORDE},
|
||||
[2838] = { AL["Crazk Sparks"], BabbleZone["Stranglethorn Vale"], 28.3, 76.7, NEUTRAL},
|
||||
[2843] = { AL["Jutak"], BabbleZone["Stranglethorn Vale"], 27.5, 77.5, NEUTRAL},
|
||||
[2846] = { AL["Blixrez Goodstitch"], BabbleZone["Stranglethorn Vale"], 28.2, 77.5, NEUTRAL},
|
||||
[2848] = { AL["Glyx Brewright"], BabbleZone["Stranglethorn Vale"], 28.1, 78.0, NEUTRAL},
|
||||
[3005] = { AL["Mahu"], BabbleZone["Thunder Bluff"], 43.8, 44.6, HORDE},
|
||||
[3012] = { AL["Nata Dawnstrider"], BabbleZone["Thunder Bluff"], 46.5, 38.8, HORDE},
|
||||
[3027] = { AL["Naal Mistrunner"], BabbleZone["Thunder Bluff"], 51.1, 52.2, HORDE},
|
||||
[3029] = { AL["Sewa Mistrunner"], BabbleZone["Thunder Bluff"], 56.0, 47.1, HORDE},
|
||||
[3081] = { AL["Wunna Darkmane"], BabbleZone["Mulgore"], 46.1, 58.2, HORDE},
|
||||
[3085] = { AL["Gloria Femmel"], BabbleZone["Redridge Mountains"], 26.7, 43.5, ALLIANCE},
|
||||
[3134] = { AL["Kzixx"], BabbleZone["Duskwood"], 81.9, 19.9, NEUTRAL},
|
||||
[3178] = { AL["Stuart Fleming"], BabbleZone["Wetlands"], 8.1, 58.4, ALLIANCE},
|
||||
[3333] = { AL["Shankys"], BabbleZone["Orgrimmar"], 69.1, 31.4, HORDE},
|
||||
[3335] = { AL["Hagrus"], BabbleZone["Orgrimmar"], 46.0, 45.9, HORDE},
|
||||
[3346] = { AL["Kithas"], BabbleZone["Orgrimmar"], 53.7, 38.0, HORDE},
|
||||
[3348] = { AL["Kor'geld"], BabbleZone["Orgrimmar"], 56.1, 35.8, HORDE},
|
||||
[3364] = { AL["Borya"], BabbleZone["Orgrimmar"], 63.0, 51.2, HORDE},
|
||||
[3366] = { AL["Tamar"], BabbleZone["Orgrimmar"], 63.0, 45.3, HORDE},
|
||||
[3367] = { AL["Felika"], BabbleZone["Orgrimmar"], 60.5, 50.7, HORDE},
|
||||
[3392] = { AL["Prospector Khazgorm"], BabbleZone["The Barrens"], 47.4, 84.8, ALLIANCE},
|
||||
[3400] = { AL["Xen'to"], BabbleZone["Orgrimmar"], 57.5, 53.2, HORDE},
|
||||
[3413] = { AL["Sovik"], BabbleZone["Orgrimmar"], 75.6, 25.2, HORDE},
|
||||
[3482] = { AL["Tari'qa"], BabbleZone["The Barrens"], 51.7, 30.1, HORDE},
|
||||
[3485] = { AL["Wrahk"], BabbleZone["The Barrens"], 52.2, 31.7, HORDE},
|
||||
[3489] = { AL["Zargh"], BabbleZone["The Barrens"], 52.6, 29.9, HORDE},
|
||||
[3490] = { AL["Hula'mahi"], BabbleZone["The Barrens"], 51.4, 30.2, HORDE},
|
||||
[3495] = { AL["Gagsprocket"], BabbleZone["The Barrens"], 62.7, 36.3, NEUTRAL},
|
||||
[3497] = { AL["Kilxx"], BabbleZone["The Barrens"], 62.8, 38.2, NEUTRAL},
|
||||
[3499] = { AL["Ranik"], BabbleZone["The Barrens"], 61.9, 38.7, NEUTRAL},
|
||||
[3522] = { AL["Constance Brisboise"], BabbleZone["Tirisfal Glades"], 52.6, 55.7, HORDE},
|
||||
[3537] = { AL["Zixil"], BabbleZone["Hillsbrad Foothills"], 53.5, 38.3, NEUTRAL},
|
||||
[3550] = { AL["Martine Tramblay"], BabbleZone["Tirisfal Glades"], 65.8, 59.7, HORDE},
|
||||
[3556] = { AL["Andrew Hilbert"], BabbleZone["Silverpine Forest"], 43.2, 40.7, HORDE},
|
||||
[3683] = { AL["Kiknikle"], BabbleZone["The Barrens"], 41.8, 38.7, NEUTRAL},
|
||||
[3881] = { AL["Grimtak"], BabbleZone["Durotar"], 51.2, 42.6, HORDE},
|
||||
[3954] = { AL["Dalria"], BabbleZone["Ashenvale"], 35.1, 52.1, ALLIANCE},
|
||||
[3956] = { AL["Harklan Moongrove"], BabbleZone["Ashenvale"], 50.8, 67.0, ALLIANCE},
|
||||
[3958] = { AL["Lardan"], BabbleZone["Ashenvale"], 34.8, 49.8, ALLIANCE},
|
||||
[3960] = { AL["Ulthaan"], BabbleZone["Ashenvale"], 50.0, 66.7, ALLIANCE},
|
||||
[4083] = { AL["Jeeda"], BabbleZone["Stonetalon Mountains"], 47.6, 61.7, HORDE},
|
||||
[4086] = { AL["Veenix"], BabbleZone["Stonetalon Mountains"], 58.3, 51.7, NEUTRAL},
|
||||
[4168] = { AL["Elynna"], BabbleZone["Darnassus"], 64.4, 21.6, ALLIANCE},
|
||||
[4186] = { AL["Mavralyn"], BabbleZone["Darkshore"], 37.0, 41.2, ALLIANCE},
|
||||
[4189] = { AL["Valdaron"], BabbleZone["Darkshore"], 38.1, 40.6, ALLIANCE},
|
||||
[4200] = { AL["Laird"], BabbleZone["Darkshore"], 36.8, 44.3, ALLIANCE},
|
||||
[4223] = { AL["Fyldan"], BabbleZone["Darnassus"], 48.6, 21.4, ALLIANCE},
|
||||
[4225] = { AL["Saenorion"], BabbleZone["Darnassus"], 63.8, 22.1, ALLIANCE},
|
||||
[4226] = { AL["Ulthir"], BabbleZone["Darnassus"], 56.0, 24.6, ALLIANCE},
|
||||
[4228] = { AL["Vaean"], BabbleZone["Darnassus"], 58.5, 14.4, ALLIANCE},
|
||||
[4229] = { AL["Mythrin'dir"], BabbleZone["Darnassus"], 60.0, 19.1, ALLIANCE},
|
||||
[4265] = { AL["Nyoma"], BabbleZone["Teldrassil"], 57.2, 61.2, ALLIANCE},
|
||||
[4305] = { AL["Kriggon Talsone"], BabbleZone["Westfall"], 36.2, 90.1, ALLIANCE},
|
||||
[4307] = { AL["Heldan Galesong"], BabbleZone["Darkshore"], 37.0, 56.3, ALLIANCE},
|
||||
[4553] = { AL["Ronald Burch"], BabbleZone["Undercity"], 62.4, 43.4, HORDE},
|
||||
[4561] = { AL["Daniel Bartlett"], BabbleZone["Undercity"], 64.2, 37.7, HORDE},
|
||||
[4574] = { AL["Lizbeth Cromwell"], BabbleZone["Undercity"], 81.2, 31.0, HORDE},
|
||||
[4577] = { AL["Millie Gregorian"], BabbleZone["Undercity"], 70.8, 29.6, HORDE},
|
||||
[4589] = { AL["Joseph Moore"], BabbleZone["Undercity"], 70.2, 57.8, HORDE},
|
||||
[4610] = { AL["Algernon"], BabbleZone["Undercity"], 51.9, 74.4, HORDE},
|
||||
[4617] = { AL["Thaddeus Webb"], BabbleZone["Undercity"], 62.0, 60.7, HORDE},
|
||||
[4775] = { AL["Felicia Doan"], BabbleZone["Undercity"], 64.3, 50.2, HORDE},
|
||||
[4782] = { AL["Truk Wildbeard"], BabbleZone["The Hinterlands"], 14.4, 42.5, ALLIANCE},
|
||||
[4877] = { AL["Jandia"], BabbleZone["Thousand Needles"], 46.1, 51.5, HORDE},
|
||||
[4878] = { AL["Montarr"], BabbleZone["Thousand Needles"], 45.2, 50.7, HORDE},
|
||||
[4879] = { AL["Ogg'marr"], BabbleZone["Dustwallow Marsh"], 36.7, 31.0, HORDE},
|
||||
[4897] = { AL["Helenia Olden"], BabbleZone["Dustwallow Marsh"], 66.4, 51.5, ALLIANCE},
|
||||
[5128] = { AL["Bombus Finespindle"], BabbleZone["Ironforge"], 39.6, 34.1, ALLIANCE},
|
||||
[5158] = { AL["Tilli Thistlefuzz"], BabbleZone["Ironforge"], 60.7, 44.2, ALLIANCE},
|
||||
[5160] = { AL["Emrul Riknussun"], BabbleZone["Ironforge"], 59.9, 37.7, ALLIANCE},
|
||||
[5162] = { AL["Tansy Puddlefizz"], BabbleZone["Ironforge"], 48.0, 6.3, ALLIANCE},
|
||||
[5163] = { AL["Burbik Gearspanner"], BabbleZone["Ironforge"], 46.5, 27.1, ALLIANCE},
|
||||
[5175] = { AL["Gearcutter Cogspinner"], BabbleZone["Ironforge"], 68.0, 43.1, ALLIANCE},
|
||||
[5178] = { AL["Soolie Berryfizz"], BabbleZone["Ironforge"], 66.6, 54.5, ALLIANCE},
|
||||
[5411] = { AL["Krinkle Goodsteel"], BabbleZone["Tanaris"], 51.5, 28.8, NEUTRAL},
|
||||
[5483] = { AL["Erika Tate"], BabbleZone["Stormwind City"], 78.5, 53.0, ALLIANCE},
|
||||
[5494] = { AL["Catherine Leland"], BabbleZone["Stormwind City"], 55.1, 69.5, ALLIANCE},
|
||||
[5512] = { AL["Kaita Deepforge"], BabbleZone["Stormwind City"], 63.5, 37.6, ALLIANCE},
|
||||
[5594] = { AL["Alchemist Pestlezugg"], BabbleZone["Tanaris"], 50.9, 27.0, NEUTRAL},
|
||||
[5748] = { AL["Killian Sanatha"], BabbleZone["Silverpine Forest"], 33.0, 17.8, HORDE},
|
||||
[5757] = { AL["Lilly"], BabbleZone["Silverpine Forest"], 43.1, 50.8, HORDE},
|
||||
[5758] = { AL["Leo Sarn"], BabbleZone["Silverpine Forest"], 53.9, 82.3, HORDE},
|
||||
[5783] = { AL["Kalldan Felmoon"], BabbleZone["The Barrens"], 46.2, 36.5, NEUTRAL},
|
||||
[5940] = { AL["Harn Longcast"], BabbleZone["Mulgore"], 47.5, 55.1, HORDE},
|
||||
[5942] = { AL["Zansoa"], BabbleZone["Durotar"], 56.1, 73.4, HORDE},
|
||||
[5944] = { AL["Yonada"], BabbleZone["The Barrens"], 45.0, 59.3, HORDE},
|
||||
[6568] = { AL["Vizzklick"], BabbleZone["Tanaris"], 51.0, 27.4, NEUTRAL},
|
||||
[6567] = { AL["Ghok'kah"], BabbleZone["Dustwallow Marsh"], 35.2, 30.8, HORDE},
|
||||
[6574] = { AL["Jun'ha"], BabbleZone["Arathi Highlands"], 72.7, 36.5, HORDE},
|
||||
[6576] = { AL["Brienna Starglow"], BabbleZone["Feralas"], 89.0, 45.9, ALLIANCE},
|
||||
[6730] = { AL["Jinky Twizzlefixxit"], BabbleZone["Thousand Needles"], 77.7, 77.8, NEUTRAL},
|
||||
[6731] = { AL["Harlown Darkweave"], BabbleZone["Ashenvale"], 18.2, 60.0, ALLIANCE},
|
||||
[6777] = { AL["Zan Shivsproket"], BabbleZone["Alterac Mountains"], 86.0, 80.1, NEUTRAL},
|
||||
[6779] = { AL["Smudge Thunderwood"], BabbleZone["Alterac Mountains"], 86.1, 79.7, NEUTRAL},
|
||||
[7733] = { AL["Innkeeper Fizzgrimble"], BabbleZone["Tanaris"], 52.5, 27.9, NEUTRAL},
|
||||
[7852] = { AL["Pratt McGrubben"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[7854] = { AL["Jangdor Swiftstrider"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[7940] = { AL["Darnall"], BabbleZone["Moonglade"], 51.6, 33.3, NEUTRAL},
|
||||
[7947] = { AL["Vivianna"], BabbleZone["Feralas"], 31.3, 43.5, ALLIANCE},
|
||||
[8125] = { AL["Dirge Quikcleave"], BabbleZone["Tanaris"], 52.6, 28.1, NEUTRAL},
|
||||
[8131] = { AL["Blizrik Buckshot"], BabbleZone["Tanaris"], 50.8, 27.6, NEUTRAL},
|
||||
[8137] = { AL["Gikkix"], BabbleZone["Tanaris"], 66.6, 22.1, NEUTRAL},
|
||||
[8139] = { AL["Jabbey"], BabbleZone["Tanaris"], 67.0, 22.0, NEUTRAL},
|
||||
[8145] = { AL["Sheendra Tallgrass"], BabbleZone["Feralas"], 74.5, 42.8, HORDE},
|
||||
[8150] = { AL["Janet Hommers"], BabbleZone["Desolace"], 66.2, 6.7, ALLIANCE},
|
||||
[8157] = { AL["Logannas"], BabbleZone["Feralas"], 32.7, 44.0, ALLIANCE},
|
||||
[8158] = { AL["Bronk"], BabbleZone["Feralas"], 76.1, 43.3, HORDE},
|
||||
[8160] = { AL["Nioma"], BabbleZone["The Hinterlands"], 13.4, 43.3, ALLIANCE},
|
||||
[8161] = { AL["Harggan"], BabbleZone["The Hinterlands"], 13.4, 44.0, ALLIANCE},
|
||||
[8176] = { AL["Gharash"], BabbleZone["Swamp of Sorrows"], 45.5, 51.6, HORDE},
|
||||
[8177] = { AL["Rartar"], BabbleZone["Swamp of Sorrows"], 45.4, 57.0, HORDE},
|
||||
[8178] = { AL["Nina Lightbrew"], BabbleZone["Blasted Lands"], 66.9, 18.3, ALLIANCE},
|
||||
[8307] = { AL["Tarban Hearthgrain"], BabbleZone["The Barrens"], 55.1, 32.1, HORDE},
|
||||
[8363] = { AL["Shadi Mistrunner"], BabbleZone["Thunder Bluff"], 40.4, 63.6, HORDE},
|
||||
[8508] = { AL["Gretta Ganter"], BabbleZone["Dun Morogh"], 31.5, 44.7, ALLIANCE},
|
||||
[8678] = { AL["Jubie Gadgetspring"], BabbleZone["Azshara"], 45.3, 90.9, NEUTRAL},
|
||||
[8679] = { AL["Knaz Blunderflame"], BabbleZone["Stranglethorn Vale"], 51.0, 35.3, NEUTRAL},
|
||||
[8681] = { AL["Outfitter Eric"], BabbleZone["Ironforge"], 43.2, 29.2, ALLIANCE},
|
||||
[8878] = { AL["Muuran"], BabbleZone["Desolace"], 55.6, 56.5, HORDE},
|
||||
[9179] = { AL["Jazzrik"], BabbleZone["Badlands"], 42.5, 52.6, HORDE},
|
||||
[9499] = { BabbleBoss["Plugger Spazzring"], BabbleZone["Blackrock Depths"], 0, 0, NEUTRAL},
|
||||
[9544] = { AL["Yuka Screwspigot"], BabbleZone["Burning Steppes"], 66.0, 22.0, NEUTRAL},
|
||||
[9636] = { AL["Kireena"], BabbleZone["Desolace"], 51.0, 53.5, HORDE},
|
||||
[10118] = { AL["Nessa Shadowsong"], BabbleZone["Teldrassil"], 56.3, 92.4, ALLIANCE},
|
||||
[10856] = { AL["Argent Quartermaster Hasana"], BabbleZone["Tirisfal Glades"], 83.2, 68.1, NEUTRAL},
|
||||
[10857] = { AL["Argent Quartermaster Lightspark"], BabbleZone["Western Plaguelands"], 42.8, 83.8, NEUTRAL},
|
||||
[11185] = { AL["Xizzer Fizzbolt"], BabbleZone["Winterspring"], 60.8, 38.6, NEUTRAL},
|
||||
[11187] = { AL["Himmik"], BabbleZone["Winterspring"], 61.3, 39.1, NEUTRAL},
|
||||
[11189] = { AL["Qia"], BabbleZone["Winterspring"], 61.2, 37.2, NEUTRAL},
|
||||
[11278] = { AL["Magnus Frostwake"], BabbleZone["Western Plaguelands"], 68.1, 77.6, NEUTRAL},
|
||||
[11536] = { AL["Quartermaster Miranda Breechlock"], BabbleZone["Eastern Plaguelands"], 75.8, 54.1, NEUTRAL},
|
||||
[11557] = { AL["Meilosh"], BabbleZone["Felwood"], 65.7, 2.9, HORDE},
|
||||
[11874] = { AL["Masat T'andr"], BabbleZone["Swamp of Sorrows"], 26.3, 31.6, NEUTRAL},
|
||||
[12022] = { AL["Lorelae Wintersong"], BabbleZone["Moonglade"], 48.3, 40.1, NEUTRAL},
|
||||
[12033] = { AL["Wulan"], BabbleZone["Desolace"], 26.2, 69.7, HORDE},
|
||||
[12043] = { AL["Kulwia"], BabbleZone["Stonetalon Mountains"], 45.4, 59.4, HORDE},
|
||||
[12245] = { AL["Vendor-Tron 1000"], BabbleZone["Desolace"], 60.3, 38.1, NEUTRAL},
|
||||
[12246] = { AL["Super-Seller 680"], BabbleZone["Desolace"], 40.5, 79.3, NEUTRAL},
|
||||
[12941] = { AL["Jase Farlane"], BabbleZone["Eastern Plaguelands"], 74.8, 51.8, NEUTRAL},
|
||||
[12942] = { AL["Leonard Porter"], BabbleZone["Western Plaguelands"], 43.0, 84.3, ALLIANCE},
|
||||
[12943] = { AL["Werg Thickblade"], BabbleZone["Tirisfal Glades"], 83.2, 69.7, HORDE},
|
||||
[12944] = { AL["Lokhtos Darkbargainer"], BabbleZone["Blackrock Depths"], 0, 0, NEUTRAL},
|
||||
[12956] = { AL["Zannok Hidepiercer"], BabbleZone["Silithus"], 81.9, 17.8, NEUTRAL},
|
||||
[12957] = { AL["Blimo Gadgetspring"], BabbleZone["Azshara"], 45.3, 90.9, NEUTRAL},
|
||||
[12958] = { AL["Gigget Zipcoil"], BabbleZone["The Hinterlands"], 34.5, 38.5, NEUTRAL},
|
||||
[12959] = { AL["Nergal"], BabbleZone["Un'Goro Crater"], 43.3, 7.7, NEUTRAL},
|
||||
[12962] = { AL["Wik'Tar"], BabbleZone["Ashenvale"], 11.8, 34.1, HORDE},
|
||||
[13420] = { AL["Penney Copperpinch"], BabbleZone["Orgrimmar"], 53.5, 66.1, NEUTRAL},
|
||||
[13429] = { AL["Nardstrum Copperpinch"], BabbleZone["Undercity"], 67.5, 38.7, HORDE},
|
||||
[13432] = { AL["Seersa Copperpinch"], BabbleZone["Thunder Bluff"], 42.0, 55.1, HORDE},
|
||||
[13433] = { AL["Wulmort Jinglepocket"], BabbleZone["Ironforge"], 33.0, 67.6, NEUTRAL},
|
||||
[13435] = { AL["Khole Jinglepocket"], BabbleZone["Stormwind City"], 62.2, 70.6, ALLIANCE},
|
||||
[14371] = { AL["Shen'dralar Provisioner"], BabbleZone["Dire Maul"], 0, 0, NEUTRAL},
|
||||
[14637] = { AL["Zorbin Fandazzle"], BabbleZone["Feralas"], 44.8, 43.4, NEUTRAL},
|
||||
[14738] = { AL["Otho Moji'ko"], BabbleZone["The Hinterlands"], 79.3, 79.1, HORDE},
|
||||
[14921] = { AL["Rin'wosho the Trader"], BabbleZone["Stranglethorn Vale"], 15.1, 16.0, NEUTRAL},
|
||||
[15165] = { AL["Haughty Modiste"], BabbleZone["Tanaris"], 66.5, 22.3, NEUTRAL},
|
||||
[15176] = { AL["Vargus"], BabbleZone["Silithus"], 51.2, 38.8, NEUTRAL},
|
||||
[15179] = { AL["Mishta"], BabbleZone["Silithus"], 49.9, 36.5, NEUTRAL},
|
||||
[15293] = { AL["Aendel Windspear"], BabbleZone["Silithus"], 62.6, 49.8, NEUTRAL},
|
||||
[15419] = { AL["Kania"], BabbleZone["Silithus"], 52.0, 39.6, NEUTRAL},
|
||||
[15471] = { BabbleBoss["Lieutenant General Andorov"], BabbleZone["Ruins of Ahn'Qiraj"], 0, 0, NEUTRAL},
|
||||
[15909] = { AL["Fariel Starsong"], BabbleZone["Moonglade"], 54.0, 35.4, NEUTRAL},
|
||||
[16224] = { AL["Rathis Tomber"], BabbleZone["Ghostlands"], 47.2, 28.7, HORDE},
|
||||
[16253] = { AL["Master Chef Mouldier"], BabbleZone["Ghostlands"], 48.3, 30.9, HORDE},
|
||||
[16262] = { AL["Landraelanis"], BabbleZone["Eversong Woods"], 49.0, 47.0, HORDE},
|
||||
[16365] = { AL["Master Craftsman Omarion"], BabbleZone["Naxxramas"].." (40},", 0, 0, NEUTRAL},
|
||||
[16388] = { AL["Koren"], BabbleZone["Karazhan"], 0, 0, NEUTRAL},
|
||||
[16583] = { AL["Rohok"], BabbleZone["Hellfire Peninsula"], 53.2, 38.2, HORDE},
|
||||
[16585] = { AL["Cookie One-Eye"], BabbleZone["Hellfire Peninsula"], 54.6, 41.1, HORDE},
|
||||
[16588] = { AL["Apothecary Antonivich"], BabbleZone["Hellfire Peninsula"], 52.4, 36.5, HORDE},
|
||||
[16624] = { AL["Gelanthis"], BabbleZone["Silvermoon City"], 90.8, 73.6, HORDE},
|
||||
[16635] = { AL["Lyna"], BabbleZone["Silvermoon City"], 69.1, 24.4, HORDE},
|
||||
[16638] = { AL["Deynna"], BabbleZone["Silvermoon City"], 55.8, 51.0, HORDE},
|
||||
[16641] = { AL["Melaris"], BabbleZone["Silvermoon City"], 66.0, 20.6, HORDE},
|
||||
[16657] = { AL["Feera"], BabbleZone["The Exodar"], 54.0, 90.5, ALLIANCE},
|
||||
[16670] = { AL["Eriden"], BabbleZone["Silvermoon City"], 79.5, 36.2, HORDE},
|
||||
[16677] = { AL["Quelis"], BabbleZone["Silvermoon City"], 69.3, 70.7, HORDE},
|
||||
[16689] = { AL["Zaralda"], BabbleZone["Silvermoon City"], 84.0, 78.8, HORDE},
|
||||
[16705] = { AL["Altaa"], BabbleZone["The Exodar"], 27.5, 62.1, ALLIANCE},
|
||||
[16713] = { AL["Arras"], BabbleZone["The Exodar"], 60.0, 89.5, ALLIANCE},
|
||||
[16718] = { AL["Phea"], BabbleZone["The Exodar"], 54.7, 26.5, ALLIANCE},
|
||||
[16722] = { AL["Egomis"], BabbleZone["The Exodar"], 39.1, 39.4, ALLIANCE},
|
||||
[16748] = { AL["Haferet"], BabbleZone["The Exodar"], 66.0, 74.6, ALLIANCE},
|
||||
[16767] = { AL["Neii"], BabbleZone["The Exodar"], 64.5, 68.5, ALLIANCE},
|
||||
[16782] = { AL["Yatheon"], BabbleZone["Silvermoon City"], 76.0, 37.7, HORDE},
|
||||
[16826] = { AL["Sid Limbardi"], BabbleZone["Hellfire Peninsula"], 54.3, 63.6, ALLIANCE},
|
||||
[17246] = { AL["\"Cookie\" McWeaksauce"], BabbleZone["Azuremyst Isle"], 46.7, 70.5, ALLIANCE},
|
||||
[17512] = { AL["Arred"], BabbleZone["The Exodar"], 45.0, 26.0, ALLIANCE},
|
||||
[17518] = { AL["Ythyar"], BabbleZone["Karazhan"], 0, 0, NEUTRAL},
|
||||
[17585] = { AL["Quartermaster Urgronn"], BabbleZone["Hellfire Peninsula"], 54.9, 37.9, HORDE},
|
||||
[17657] = { AL["Logistics Officer Ulrike"], BabbleZone["Hellfire Peninsula"], 56.7, 62.6, ALLIANCE},
|
||||
[17904] = { AL["Fedryen Swiftspear"], BabbleZone["Zangarmarsh"], 79.3, 63.8, NEUTRAL},
|
||||
[18005] = { AL["Haalrun"], BabbleZone["Zangarmarsh"], 67.8, 48.0, ALLIANCE},
|
||||
[18011] = { AL["Zurai"], BabbleZone["Zangarmarsh"], 85.2, 54.7, HORDE},
|
||||
[18015] = { AL["Gambarinka"], BabbleZone["Zangarmarsh"], 31.7, 49.3, HORDE},
|
||||
[18017] = { AL["Seer Janidi"], BabbleZone["Zangarmarsh"], 32.4, 51.9, HORDE},
|
||||
[18255] = { AL["Apprentice Darius"], BabbleZone["Deadwind Pass"], 47.0, 75.3, NEUTRAL},
|
||||
[18382] = { AL["Mycah"], BabbleZone["Zangarmarsh"], 17.9, 51.2, NEUTRAL},
|
||||
[18427] = { AL["Fazu"], BabbleZone["Bloodmyst Isle"], 53.5, 56.5, ALLIANCE},
|
||||
[18484] = { AL["Wind Trader Lathrai"], BabbleZone["Shattrath City"], 72.3, 31.0, NEUTRAL},
|
||||
[18664] = { AL["Aged Dalaran Wizard"], BabbleZone["Old Hillsbrad Foothills"], 0, 0, NEUTRAL},
|
||||
[18672] = { AL["Thomas Yance"], BabbleZone["Old Hillsbrad Foothills"], 0, 0, NEUTRAL},
|
||||
[18753] = { AL["Felannia"], BabbleZone["Hellfire Peninsula"], 52.3, 36.1, HORDE},
|
||||
[18773] = { AL["Johan Barnes"], BabbleZone["Hellfire Peninsula"], 53.7, 66.1, ALLIANCE},
|
||||
[18775] = { AL["Lebowski"], BabbleZone["Hellfire Peninsula"], 55.7, 65.5, ALLIANCE},
|
||||
[18802] = { AL["Alchemist Gribble"], BabbleZone["Hellfire Peninsula"], 53.8, 65.8, ALLIANCE},
|
||||
[18821] = { AL["Quartermaster Jaffrey Noreliqe"], BabbleZone["Nagrand"], 41.2, 44.3, HORDE},
|
||||
[18822] = { AL["Quartermaster Davian Vaclav"], BabbleZone["Nagrand"], 41.2, 44.3, ALLIANCE},
|
||||
[18911] = { AL["Juno Dufrain"], BabbleZone["Zangarmarsh"], 78.0, 66.1, NEUTRAL},
|
||||
[18951] = { AL["Erilia"], BabbleZone["Eversong Woods"], 55.5, 54.0, HORDE},
|
||||
[18957] = { AL["Innkeeper Grilka"], BabbleZone["Terokkar Forest"], 48.8, 45.1, HORDE},
|
||||
[18960] = { AL["Rungor"], BabbleZone["Terokkar Forest"], 48.8, 46.1, HORDE},
|
||||
[19004] = { AL["Vodesiin"], BabbleZone["Hellfire Peninsula"], 24.4, 38.8, ALLIANCE},
|
||||
[19015] = { AL["Mathar G'ochar"], BabbleZone["Nagrand"], 57.0, 39.6, HORDE},
|
||||
[19017] = { AL["Borto"], BabbleZone["Nagrand"], 53.3, 71.9, ALLIANCE},
|
||||
[19038] = { AL["Supply Officer Mills"], BabbleZone["Terokkar Forest"], 55.7, 53.1, ALLIANCE},
|
||||
[19042] = { AL["Leeli Longhaggle"], BabbleZone["Terokkar Forest"], 57.7, 53.4, ALLIANCE},
|
||||
[19065] = { AL["Inessera"], BabbleZone["Shattrath City"], 34.5, 20.2, NEUTRAL},
|
||||
[19074] = { AL["Skreah"], BabbleZone["Shattrath City"], 46.0, 20.1, NEUTRAL},
|
||||
[19195] = { AL["Jim Saltit"], BabbleZone["Shattrath City"], 63.6, 68.6, NEUTRAL},
|
||||
[19196] = { AL["Cro Threadstrong"], BabbleZone["Shattrath City"], 66.1, 68.7, NEUTRAL},
|
||||
[19213] = { AL["Eiin"], BabbleZone["Shattrath City"], 66.2, 68.7, NEUTRAL},
|
||||
[19234] = { AL["Yurial Soulwater"], BabbleZone["Shattrath City"], 43.5, 96.9, NEUTRAL},
|
||||
[19296] = { AL["Innkeeper Biribi"], BabbleZone["Terokkar Forest"], 56.7, 53.3, ALLIANCE},
|
||||
[19321] = { AL["Quartermaster Endarin"], BabbleZone["Shattrath City"], 47.9, 26.1, NEUTRAL},
|
||||
[19331] = { AL["Quartermaster Enuril"], BabbleZone["Shattrath City"], 60.5, 64.2, NEUTRAL},
|
||||
[19342] = { AL["Krek Cragcrush"], BabbleZone["Shadowmoon Valley"], 28.9, 30.8, HORDE},
|
||||
[19351] = { AL["Daggle Ironshaper"], BabbleZone["Shadowmoon Valley"], 36.8, 54.4, ALLIANCE},
|
||||
[19373] = { AL["Mari Stonehand"], BabbleZone["Shadowmoon Valley"], 36.8, 55.1, ALLIANCE},
|
||||
[19383] = { AL["Captured Gnome"], BabbleZone["Zangarmarsh"], 32.5, 48.1, HORDE},
|
||||
[19521] = { AL["Arrond"], BabbleZone["Shadowmoon Valley"], 55.9, 58.2, NEUTRAL},
|
||||
[19537] = { AL["Dealer Malij"], BabbleZone["Netherstorm"], 44.2, 34.0, NEUTRAL},
|
||||
[19540] = { AL["Asarnan"], BabbleZone["Netherstorm"], 44.2, 33.7, NEUTRAL},
|
||||
[19661] = { AL["Viggz Shinesparked"], BabbleZone["Shattrath City"], 64.9, 69.1, NEUTRAL},
|
||||
[19662] = { AL["Aaron Hollman"], BabbleZone["Shattrath City"], 63.1, 71.1, NEUTRAL},
|
||||
[19663] = { AL["Madame Ruby"], BabbleZone["Shattrath City"], 63.1, 69.3, NEUTRAL},
|
||||
[19694] = { AL["Loolruna"], BabbleZone["Zangarmarsh"], 68.5, 50.1, ALLIANCE},
|
||||
[19722] = { AL["Muheru the Weaver"], BabbleZone["Zangarmarsh"], 40.6, 28.2, ALLIANCE},
|
||||
[19836] = { AL["Mixie Farshot"], BabbleZone["Hellfire Peninsula"], 61.1, 81.5, HORDE},
|
||||
[19837] = { AL["Daga Ramba"], BabbleZone["Blade's Edge Mountains"], 51.1, 57.7, HORDE},
|
||||
[20028] = { AL["Doba"], BabbleZone["Zangarmarsh"], 42.3, 27.9, ALLIANCE},
|
||||
[20096] = { AL["Uriku"], BabbleZone["Nagrand"], 56.2, 73.3, ALLIANCE},
|
||||
[20097] = { AL["Nula the Butcher"], BabbleZone["Nagrand"], 58.0, 35.7, HORDE},
|
||||
[20240] = { AL["Trader Narasu"], BabbleZone["Nagrand"], 54.6, 75.2, ALLIANCE},
|
||||
[20241] = { AL["Provisioner Nasela"], BabbleZone["Nagrand"], 53.5, 36.9, HORDE},
|
||||
[20242] = { AL["Karaaz"], BabbleZone["Netherstorm"], 43.6, 34.3, NEUTRAL},
|
||||
[20916] = { AL["Xerintha Ravenoak"], BabbleZone["Blade's Edge Mountains"], 62.5, 40.3, NEUTRAL},
|
||||
[21113] = { AL["Sassa Weldwell"], BabbleZone["Blade's Edge Mountains"], 61.3, 68.9, ALLIANCE},
|
||||
[21432] = { AL["Almaador"], BabbleZone["Shattrath City"], 51.0, 41.9, NEUTRAL},
|
||||
[21474] = { AL["Coreiel"], BabbleZone["Nagrand"], 42.8, 42.6, HORDE},
|
||||
[21485] = { AL["Aldraan"], BabbleZone["Nagrand"], 42.9, 42.5, ALLIANCE},
|
||||
[21643] = { AL["Alurmi"], BabbleZone["Tanaris"], 63.6, 57.6, NEUTRAL},
|
||||
[21655] = { AL["Nakodu"], BabbleZone["Shattrath City"], 62.1, 69.0, NEUTRAL},
|
||||
[22208] = { AL["Nasmara Moonsong"], BabbleZone["Shattrath City"], 66.0, 69.0, NEUTRAL},
|
||||
[22212] = { AL["Andrion Darkspinner"], BabbleZone["Shattrath City"], 66.0, 67.8, NEUTRAL},
|
||||
[22213] = { AL["Gidge Spellweaver"], BabbleZone["Shattrath City"], 66.0, 67.9, NEUTRAL},
|
||||
[23007] = { AL["Paulsta'ats"], BabbleZone["Nagrand"], 30.6, 57.0, NEUTRAL},
|
||||
[23010] = { AL["Wolgren Jinglepocket"], BabbleZone["The Exodar"], 54.5, 47.2, ALLIANCE},
|
||||
[23012] = { AL["Hotoppik Copperpinch"], BabbleZone["Silvermoon City"], 63.5, 79.1, HORDE},
|
||||
[23064] = { AL["Eebee Jinglepocket"], BabbleZone["Shattrath City"], 51.0, 31.3, NEUTRAL},
|
||||
[23159] = { AL["Okuno"], BabbleZone["Black Temple"], 0, 0, NEUTRAL},
|
||||
[23437] = { AL["Indormi"], BabbleZone["Hyjal Summit"], 0, 0, NEUTRAL},
|
||||
[25032] = { AL["Eldara Dawnrunner"], BabbleZone["Isle of Quel'Danas"], 47.1, 30.0, NEUTRAL},
|
||||
[25950] = { AL["Shaani"], BabbleZone["Isle of Quel'Danas"], 51.5, 32.6, NEUTRAL},
|
||||
[26081] = { AL["High Admiral \"Shelly\" Jorrik"], BabbleZone["Dun Morogh"], 10.9, 76.1, NEUTRAL},
|
||||
[26569] = { AL["Alys Vol'tyr"], BabbleZone["Dragonblight"], 36.3, 46.5, HORDE},
|
||||
[26868] = { AL["Provisioner Lorkran"], BabbleZone["Grizzly Hills"], 22.6, 66.1, HORDE},
|
||||
[27030] = { AL["Bradley Towns"], BabbleZone["Dragonblight"], 76.9, 62.2, HORDE},
|
||||
[27054] = { AL["Modoru"], BabbleZone["Dragonblight"], 28.9, 55.9, ALLIANCE},
|
||||
[27147] = { AL["Librarian Erickson"], BabbleZone["Borean Tundra"], 46.7, 32.5, NEUTRAL},
|
||||
[27666] = { AL["Ontuvo"], BabbleZone["Shattrath City"], 48.7, 41.3, NEUTRAL},
|
||||
[28701] = { AL["Timothy Jones"], BabbleZone["Dalaran"], 40.5, 35.2, NEUTRAL},
|
||||
[28714] = { AL["Ildine Sorrowspear"], BabbleZone["Dalaran"], 39.1, 41.5, NEUTRAL},
|
||||
[28721] = { AL["Tiffany Cartier"], BabbleZone["Dalaran"], 40.5, 34.4, NEUTRAL},
|
||||
[28722] = { AL["Bryan Landers"], BabbleZone["Dalaran"], 39.1, 26.5, NEUTRAL},
|
||||
[28723] = { AL["Larana Drome"], BabbleZone["Dalaran"], 42.3, 37.5, NEUTRAL},
|
||||
[29510] = { AL["Linna Bruder"], BabbleZone["Dalaran"], 34.6, 34.5, NEUTRAL},
|
||||
[29511] = { AL["Lalla Brightweave"], BabbleZone["Dalaran"], 36.5, 33.5, NEUTRAL},
|
||||
[29512] = { AL["Ainderu Summerleaf"], BabbleZone["Dalaran"], 36.5, 34.0, NEUTRAL},
|
||||
[30431] = { AL["Veteran Crusader Aliocha Segard"], BabbleZone["Icecrown"], 87.6, 75.6, NEUTRAL},
|
||||
[30489] = { AL["Morgan Day"], BabbleZone["Wintergrasp"], 49.0, 17.1, ALLIANCE},
|
||||
[30734] = { AL["Jezebel Bican"], BabbleZone["Hellfire Peninsula"], 53.9, 65.5, ALLIANCE},
|
||||
[30735] = { AL["Kul Inkspiller"], BabbleZone["Hellfire Peninsula"], 52.5, 36.0, HORDE},
|
||||
[31031] = { AL["Misensi"], BabbleZone["Dalaran"], 70.1, 38.5, HORDE},
|
||||
[31032] = { AL["Derek Odds"], BabbleZone["Dalaran"], 41.5, 64.8, ALLIANCE},
|
||||
[31910] = { AL["Geen"], BabbleZone["Sholazar Basin"], 54.5, 56.2, NEUTRAL},
|
||||
[31911] = { AL["Tanak"], BabbleZone["Sholazar Basin"], 55.1, 69.1, NEUTRAL},
|
||||
[31916] = { AL["Tanaika"], BabbleZone["Howling Fjord"], 25.5, 58.7, NEUTRAL},
|
||||
[32287] = { AL["Archmage Alvareaux"], BabbleZone["Dalaran"], 25.5, 47.4, NEUTRAL},
|
||||
[32294] = { AL["Knight Dameron"], BabbleZone["Wintergrasp"], 51.7, 17.5, ALLIANCE},
|
||||
[32296] = { AL["Stone Guard Mukar"], BabbleZone["Wintergrasp"], 51.7, 17.5, HORDE},
|
||||
[32514] = { AL["Vanessa Sellers"], BabbleZone["Dalaran"], 38.7, 40.8, NEUTRAL},
|
||||
[32515] = { AL["Braeg Stoutbeard"], BabbleZone["Dalaran"], 37.6, 29.5, NEUTRAL},
|
||||
[32533] = { AL["Cielstrasza"], BabbleZone["Dragonblight"], 59.9, 53.1, NEUTRAL},
|
||||
[32538] = { AL["Duchess Mynx"], BabbleZone["Icecrown"], 43.5, 20.6, NEUTRAL},
|
||||
[32540] = { AL["Lillehoff"], BabbleZone["The Storm Peaks"], 66.2, 61.4, NEUTRAL},
|
||||
[32564] = { AL["Logistics Officer Silverstone"], BabbleZone["Borean Tundra"], 57.7, 66.5, ALLIANCE},
|
||||
[32565] = { AL["Gara Skullcrush"], BabbleZone["Borean Tundra"], 41.4, 53.6, HORDE},
|
||||
[32763] = { AL["Sairuk"], BabbleZone["Dragonblight"], 48.5, 75.7, NEUTRAL},
|
||||
[32773] = { AL["Logistics Officer Brighton"], BabbleZone["Howling Fjord"], 59.7, 63.9, ALLIANCE},
|
||||
[32774] = { AL["Sebastian Crane"], BabbleZone["Howling Fjord"], 79.6, 30.7, HORDE},
|
||||
[33595] = { AL["Mera Mistrunner"], BabbleZone["Icecrown"], 72.4, 20.9, NEUTRAL},
|
||||
[33602] = { AL["Anuur"], BabbleZone["Icecrown"], 71.4, 20.8, NEUTRAL},
|
||||
[33637] = { AL["Kirembri Silvermane"], BabbleZone["Shattrath City"], 58.1, 75.0, NEUTRAL},
|
||||
[33680] = { AL["Nemiha"], BabbleZone["Shattrath City"], 36.1, 47.7, NEUTRAL},
|
||||
[34039] = { AL["Lady Palanseer"], BabbleZone["Orgrimmar"], 37.0, 64.9, HORDE},
|
||||
[34079] = { AL["Captain O'Neal"], BabbleZone["Stormwind City"], 75.7, 66.6, ALLIANCE},
|
||||
[37687] = { AL["Alchemist Finklestein"], BabbleZone["Icecrown Citadel"], 0, 0, NEUTRAL},
|
||||
[40160] = { AL["Frozo the Renowned"], BabbleZone["Dalaran"], 41.0, 28.5, NEUTRAL},
|
||||
--Shady Dealers
|
||||
[970000] = { AL["Shady Dealer"], BabbleZone["Wetlands"], 70.8, 79.4, NEUTRAL },
|
||||
[970001] = { AL["Shady Dealer"], BabbleZone["Un'Goro Crater"], 71.7, 75.8, NEUTRAL },
|
||||
[970002] = { AL["Shady Dealer"], BabbleZone["Azshara"], 42.6, 80.3, NEUTRAL },
|
||||
[970003] = { AL["Shady Dealer"], BabbleZone["Tanaris"], 66.8, 22.2, NEUTRAL },
|
||||
[970004] = { AL["Shady Dealer"], BabbleZone["Burning Steppes"], 95.1, 31.7, NEUTRAL },
|
||||
[970005] = { AL["Shady Dealer"], BabbleZone["Stranglethorn Vale"], 35.7, 10.6, NEUTRAL },
|
||||
[970006] = { AL["Shady Dealer"], BabbleZone["Searing Gorge"], 37.8, 49.5, NEUTRAL },
|
||||
[970007] = { AL["Shady Dealer"], BabbleZone["Alterac Mountains"], 20.2, 85.6, NEUTRAL },
|
||||
[970008] = { AL["Shady Dealer"], BabbleZone["Blasted Lands"], 50.7, 14.6, NEUTRAL },
|
||||
[970009] = { AL["Shady Dealer"], BabbleZone["Deadwind Pass"], 50.0, 74.8, NEUTRAL },
|
||||
[970010] = { AL["Shady Dealer"], BabbleZone["Thousand Needles"], 80.2, 77.1, NEUTRAL },
|
||||
[970011] = { AL["Shady Dealer"], BabbleZone["Felwood"], 64.8, 8.0, NEUTRAL },
|
||||
[970012] = { AL["Shady Dealer"], BabbleZone["Eastern Plaguelands"], 43.5, 18.5, NEUTRAL },
|
||||
[970013] = { AL["Shady Dealer"], BabbleZone["The Barrens"], 49.4, 50.6, NEUTRAL },
|
||||
[970014] = { AL["Shady Dealer"], BabbleZone["Duskwood"], 81.8, 19.8, NEUTRAL },
|
||||
[970015] = { AL["Shady Dealer"], BabbleZone["Western Plaguelands"], 45.0, 15.8, NEUTRAL },
|
||||
[970016] = { AL["Shady Dealer"], BabbleZone["Hillsbrad Foothills"], 77.2, 46.3, NEUTRAL },
|
||||
[970017] = { AL["Shady Dealer"], BabbleZone["Moonglade"], 54.4, 37.0, NEUTRAL },
|
||||
[970018] = { AL["Shady Dealer"], BabbleZone["Un'Goro Crater"], 45.2, 5.7, NEUTRAL },
|
||||
[970019] = { AL["Shady Dealer"], BabbleZone["Azshara"], 45.3, 90.9, NEUTRAL },
|
||||
[970020] = { AL["Shady Dealer"], BabbleZone["Azshara"], 50.1, 63.8, NEUTRAL },
|
||||
[970021] = { AL["Shady Dealer"], BabbleZone["Western Plaguelands"], 69.3, 49.8, NEUTRAL },
|
||||
[970022] = { AL["Shady Dealer"], BabbleZone["Western Plaguelands"], 39.5, 66.7, NEUTRAL },
|
||||
[970023] = { AL["Shady Dealer"], BabbleZone["Winterspring"], 49.9, 9.9, NEUTRAL },
|
||||
[970024] = { AL["Shady Dealer"], BabbleZone["Winterspring"], 65.9, 65.2, NEUTRAL },
|
||||
[970025] = { AL["Shady Dealer"], BabbleZone["Winterspring"], 61.9, 37.6, NEUTRAL },
|
||||
[970026] = { AL["Shady Dealer"], BabbleZone["Silithus"], 49.5, 37.6, NEUTRAL },
|
||||
[970027] = { AL["Shady Dealer"], BabbleZone["Silithus"], 41.5, 88.8, NEUTRAL },
|
||||
[970028] = { AL["Shady Dealer"], BabbleZone["Eastern Plaguelands"], 75.2, 51.4, NEUTRAL },
|
||||
[970029] = { AL["Shady Dealer"], BabbleZone["The Barrens"], 62.6, 38.3, NEUTRAL },
|
||||
[970030] = { AL["Shady Dealer"], BabbleZone["Dustwallow Marsh"], 41.8, 74.1, NEUTRAL },
|
||||
[970031] = { AL["Shady Dealer"], BabbleZone["Felwood"], 51.0, 81.4, NEUTRAL },
|
||||
[970032] = { AL["Shady Dealer"], BabbleZone["Stranglethorn Vale"], 26.8, 76.4, NEUTRAL },
|
||||
[970033] = { AL["Shady Dealer"], BabbleZone["Feralas"], 32.0, 77.6, NEUTRAL },
|
||||
[970034] = { AL["Shady Dealer"], BabbleZone["Dustwallow Marsh"], 77.9, 17.2, NEUTRAL },
|
||||
[970035] = { AL["Shady Dealer"], BabbleZone["Desolace"], 61.2, 62.1, NEUTRAL },
|
||||
[970036] = { AL["Shady Dealer"], BabbleZone["Stonetalon Mountains"], 59.0, 62.7, NEUTRAL },
|
||||
[970037] = { AL["Shady Dealer"], BabbleZone["The Hinterlands"], 26.9, 48.8, NEUTRAL },
|
||||
[970038] = { AL["Shady Dealer"], BabbleZone["Ashenvale"], 69.8, 70.4, NEUTRAL },
|
||||
[970039] = { AL["Shady Dealer"], BabbleZone["Badlands"], 62.0, 54.2, NEUTRAL },
|
||||
[970040] = { AL["Shady Dealer"], BabbleZone["Arathi Highlands"], 32.1, 82.9, NEUTRAL },
|
||||
[970041] = { AL["Shady Dealer"], BabbleZone["Arathi Highlands"], 33.8, 27.5, NEUTRAL },
|
||||
[970042] = { AL["Shady Dealer"], BabbleZone["Swamp of Sorrows"], 13.7, 68.6, NEUTRAL },
|
||||
};
|
||||
|
||||
AtlasLoot_CraftingData["MobList"] = {
|
||||
-- Alterac Mountains
|
||||
[2242] = { AL["Syndicate Spy"], BabbleZone["Alterac Mountains"], 63.0, 40.6},
|
||||
[2246] = { AL["Syndicate Assassin"], BabbleZone["Alterac Mountains"], 40.6, 16.8},-- Arathi Highlands
|
||||
[2556] = { AL["Witherbark Headhunter"], BabbleZone["Arathi Highlands"], 70.5, 70.4},
|
||||
[2557] = { AL["Witherbark Shadow Hunter"], BabbleZone["Arathi Highlands"], 70.3, 78.9},
|
||||
[2558] = { AL["Witherbark Berserker"], BabbleZone["Arathi Highlands"], 24.2, 66.2},
|
||||
[2606] = { AL["Nimar the Slayer"], BabbleZone["Arathi Highlands"], 66.6, 64.0},
|
||||
[2636] = { AL["Blackwater Deckhand"], BabbleZone["Arathi Highlands"], 33.0, 81.3},-- Ashenvale
|
||||
[3834] = { AL["Crazed Ancient"], BabbleZone["Ashenvale"], 59.4, 43.0},
|
||||
[3919] = { AL["Withered Ancient"], BabbleZone["Ashenvale"], 58.5, 36.1},-- Azshara
|
||||
[6138] = { AL["Arkkoran Oracle"], BabbleZone["Azshara"], 78.0, 41.8},
|
||||
[6144] = { AL["Son of Arkkoroc"], BabbleZone["Azshara"], 65.5, 54.4},
|
||||
[6146] = { AL["Cliff Breaker"], BabbleZone["Azshara"], 66.0, 13.2},
|
||||
[6201] = { AL["Legashi Rogue"], BabbleZone["Azshara"], 50.1, 19.6},-- Blade's Edge Mountains
|
||||
[16952] = { AL["Anger Guard"], BabbleZone["Blade's Edge Mountains"], 72.0, 40.5},
|
||||
[19952] = { AL["Bloodmaul Geomancer"], BabbleZone["Blade's Edge Mountains"], 45.0, 68.5},
|
||||
[19960] = { AL["Doomforge Engineer"], BabbleZone["Blade's Edge Mountains"], 75.1, 39.8},
|
||||
[19973] = { AL["Abyssal Flamebringer"], BabbleZone["Blade's Edge Mountains"], 30.0, 81.0},
|
||||
[19984] = { AL["Vekh'nir Dreadhawk"], BabbleZone["Blade's Edge Mountains"], 78.0, 74.3},
|
||||
[22242] = { AL["Bash'ir Spell-Thief"], BabbleZone["Blade's Edge Mountains"], 51.0, 16.5},
|
||||
[23385] = { AL["Simon Unit"], BabbleZone["Blade's Edge Mountains"], 33.5, 51.5},
|
||||
[23386] = { AL["Gan'arg Analyzer"], BabbleZone["Blade's Edge Mountains"], 33.0, 52.5},-- Blasted Lands
|
||||
[5981] = { AL["Portal Seeker"], BabbleZone["Blasted Lands"], 51.1, 34.0},
|
||||
[6005] = { AL["Shadowsworn Thug"], BabbleZone["Blasted Lands"], 63.8, 32.0},-- Burning Steppes
|
||||
[7025] = { AL["Blackrock Soldier"], BabbleZone["Burning Steppes"], 44.0, 52.8},
|
||||
[7027] = { AL["Blackrock Slayer"], BabbleZone["Burning Steppes"], 44.4, 50.7},
|
||||
[7029] = { AL["Blackrock Battlemaster"], BabbleZone["Burning Steppes"], 40.5, 35.8},
|
||||
[7035] = { AL["Firegut Brute"], BabbleZone["Burning Steppes"], 82.5, 48.1},
|
||||
[7037] = { AL["Thaurissan Firewalker"], BabbleZone["Burning Steppes"], 61.1, 42.0},
|
||||
[10119] = { AL["Volchan"], BabbleZone["Burning Steppes"], 73.0, 49.3},-- Darkshore
|
||||
[2337] = { AL["Dark Strand Voidcaller"], BabbleZone["Darkshore"], 56.2, 26.0},-- Deadwind Pass
|
||||
[7372] = { AL["Deadwind Warlock"], BabbleZone["Deadwind Pass"], 59.8, 74.4},-- Dragonblight
|
||||
[26343] = { AL["Indu'le Fisherman"], BabbleZone["Dragonblight"], 40.2, 65.5},
|
||||
[26336] = { AL["Indu'le Mystic"], BabbleZone["Dragonblight"], 40.2, 65.5},
|
||||
[26344] = { AL["Indu'le Warrior"], BabbleZone["Dragonblight"], 40.2, 65.5},
|
||||
[27333] = { AL["Onslaught Mason"], BabbleZone["Dragonblight"], 85.8, 36.0},-- Duskwood
|
||||
[910 ] = { AL["Defias Enchanter"], BabbleZone["Duskwood"], 49.5, 75.6},-- Dustwallow Marsh
|
||||
[4364] = { AL["Strashaz Warrior"], BabbleZone["Dustwallow Marsh"], 76.5, 22.3},
|
||||
[4366] = { AL["Strashaz Serpent Guard"], BabbleZone["Dustwallow Marsh"], 74.1, 18.2},
|
||||
[4368] = { AL["Strashaz Myrmidon"], BabbleZone["Dustwallow Marsh"], 75.1, 14.2},
|
||||
[4834] = { AL["Theramore Infiltrator"], BabbleZone["Dustwallow Marsh"], 44.0, 27.3},
|
||||
[16072] = { AL["Tidelord Rrurgaz"], BabbleZone["Dustwallow Marsh"], 76.7, 19.5},-- Eastern Plaguelands
|
||||
[8546] = { AL["Dark Adept"], BabbleZone["Eastern Plaguelands"], 65.8, 37.9},
|
||||
[8550] = { AL["Shadowmage"], BabbleZone["Eastern Plaguelands"], 78.5, 35.3},
|
||||
[8561] = { AL["Mossflayer Shadowhunter"], BabbleZone["Eastern Plaguelands"], 60.9, 21.5},
|
||||
[9451] = { AL["Scarlet Archmage"], BabbleZone["Eastern Plaguelands"], 81.5, 75.4},-- Felwood
|
||||
[7106] = { AL["Jadefire Rogue"], BabbleZone["Felwood"], 37.5, 66.5},
|
||||
[7158] = { AL["Deadwood Shaman"], BabbleZone["Felwood"], 62.5, 10.3},
|
||||
[7441] = { AL["Winterfall Totemic"], BabbleZone["Felwood"], 41.5, 42.7},-- Grizzly Hills
|
||||
[26270] = { AL["Iron Rune-Shaper"], BabbleZone["Grizzly Hills"], 67.8, 16.3},
|
||||
[26679] = { AL["Silverbrook Trapper"], BabbleZone["Grizzly Hills"], 27.3, 33.9},
|
||||
[26708] = { AL["Silverbrook Villager"], BabbleZone["Grizzly Hills"], 27.3, 33.9},
|
||||
[27546] = { AL["Silverbrook Hunter"], BabbleZone["Grizzly Hills"], 37.5, 68.0},
|
||||
[27676] = { AL["Silverbrook Defender"], BabbleZone["Grizzly Hills"], 24.6, 33.3},-- Hillsbrad Foothills
|
||||
[2434] = { AL["Shadowy Assassin"], BabbleZone["Hillsbrad Foothills"], 52.7, 52.8},
|
||||
[2264] = { AL["Hillsbrad Tailor"], BabbleZone["Hillsbrad Foothills"], 36.6, 44.4},
|
||||
[2374] = { AL["Torn Fin Muckdweller"], BabbleZone["Hillsbrad Foothills"], 31.5, 72.1},
|
||||
[2375] = { AL["Torn Fin Coastrunner"], BabbleZone["Hillsbrad Foothills"], 25.1, 70.5},
|
||||
[2376] = { AL["Torn Fin Oracle"], BabbleZone["Hillsbrad Foothills"], 42.0, 68.0},
|
||||
[2377] = { AL["Torn Fin Tidehunter"], BabbleZone["Hillsbrad Foothills"], 39.0, 69.0},
|
||||
[14276] = { AL["Scargil"], BabbleZone["Hillsbrad Foothills"], 26.6, 71.2},
|
||||
-- Icecrown
|
||||
[30921] = { AL["Skeletal Runesmith"], BabbleZone["Icecrown"], 60.0, 73.1},
|
||||
[31702] = { AL["Frostbrood Spawn"], BabbleZone["Icecrown"], 75.3, 43.4},
|
||||
[32289] = { AL["Damned Apothecary"], BabbleZone["Icecrown"], 49.8, 32.7},
|
||||
[32290] = { AL["Cult Alchemist"], BabbleZone["Icecrown"], 49.5, 33.1},
|
||||
[32297] = { AL["Cult Researcher"], BabbleZone["Icecrown"], 50.7, 30.9},
|
||||
[32349] = { AL["Cultist Shard Watcher"], BabbleZone["Icecrown"], 48.1, 67.9},-- Nagrand
|
||||
[17136] = { AL["Boulderfist Warrior"], BabbleZone["Nagrand"], 51.0, 57.0},
|
||||
[17150] = { AL["Vir'aani Arcanist"], BabbleZone["Nagrand"], 40.5, 69.6},
|
||||
[18203] = { AL["Murkblood Raider"], BabbleZone["Nagrand"], 31.5, 43.5},-- Netherstorm
|
||||
[18853] = { AL["Sunfury Bloodwarder"], BabbleZone["Netherstorm"], 27.0, 72.0},
|
||||
[18866] = { AL["Mageslayer"], BabbleZone["Netherstorm"], 55.5, 85.5},
|
||||
[18870] = { AL["Voidshrieker"], BabbleZone["Netherstorm"], 60.0, 39.0},
|
||||
[18872] = { AL["Disembodied Vindicator"], BabbleZone["Netherstorm"], 36.0, 55.5},
|
||||
[18873] = { AL["Disembodied Protector"], BabbleZone["Netherstorm"], 31.8, 52.7},
|
||||
[19707] = { AL["Sunfury Archer"], BabbleZone["Netherstorm"], 55.5, 81.0},
|
||||
[22822] = { AL["Ethereum Nullifier"], BabbleZone["Netherstorm"], 66.0, 49.5},
|
||||
[20134] = { AL["Sunfury Arcanist"], BabbleZone["Netherstorm"], 51.0, 82.5},
|
||||
[20135] = { AL["Sunfury Arch Mage"], BabbleZone["Netherstorm"], 46.5, 81.0},
|
||||
[20136] = { AL["Sunfury Researcher"], BabbleZone["Netherstorm"], 48.2, 82.5},
|
||||
[20207] = { AL["Sunfury Bowman"], BabbleZone["Netherstorm"], 61.5, 67.5},
|
||||
[23008] = { AL["Ethereum Jailor"], BabbleZone["Netherstorm"], 58.8, 35.6},
|
||||
[19514] = { BabbleBoss["Al'ar"], BabbleZone["Tempest Keep"], 0, 0},
|
||||
[21216] = { BabbleBoss["Hydross the Unstable"], BabbleZone["Serpentshrine Cavern"], 0, 0},
|
||||
[16457] = { BabbleBoss["Maiden of Virtue"], BabbleZone["Karazhan"], 0, 0},-- Searing Gorge
|
||||
[5844] = { AL["Dark Iron Slaver"], BabbleZone["Searing Gorge"], 43.8, 33.8},
|
||||
[5846] = { AL["Dark Iron Taskmaster"], BabbleZone["Searing Gorge"], 44.4, 41.1},
|
||||
[5861] = { AL["Twilight Fire Guard"], BabbleZone["Searing Gorge"], 25.5, 33.8},
|
||||
[8637] = { AL["Dark Iron Watchman"], BabbleZone["Searing Gorge"], 69.3, 34.8},
|
||||
[9026] = { BabbleBoss["Overmaster Pyron"], BabbleZone["Searing Gorge"], 26.2, 74.9},-- Shadowmoon Valley
|
||||
[19740] = { AL["Wrathwalker"], BabbleZone["Shadowmoon Valley"], 25.5, 33.0},
|
||||
[19754] = { AL["Deathforge Tinkerer"], BabbleZone["Shadowmoon Valley"], 39.0, 38.7},
|
||||
[19755] = { AL["Mo'arg Weaponsmith"], BabbleZone["Shadowmoon Valley"], 25.5, 31.5},
|
||||
[19756] = { AL["Deathforge Smith"], BabbleZone["Shadowmoon Valley"], 37.5, 42.0},
|
||||
[19768] = { AL["Coilskar Siren"], BabbleZone["Shadowmoon Valley"], 46.5, 30.0},
|
||||
[19792] = { AL["Eclipsion Centurion"], BabbleZone["Shadowmoon Valley"], 48.0, 61.8},
|
||||
[19795] = { AL["Eclipsion Blood Knight"], BabbleZone["Shadowmoon Valley"], 52.7, 63.2},
|
||||
[19796] = { AL["Eclipsion Archmage"], BabbleZone["Shadowmoon Valley"], 49.5, 58.5},
|
||||
[19806] = { AL["Eclipsion Bloodwarder"], BabbleZone["Shadowmoon Valley"], 46.5, 66.0},
|
||||
[19826] = { AL["Dark Conclave Shadowmancer"], BabbleZone["Shadowmoon Valley"], 37.5, 29.0},
|
||||
[20878] = { AL["Deathforge Guardian"], BabbleZone["Shadowmoon Valley"], 39.0, 47.0},
|
||||
[20887] = { AL["Deathforge Imp"], BabbleZone["Shadowmoon Valley"], 40.5, 39.1},
|
||||
[21050] = { AL["Enraged Earth Spirit"], BabbleZone["Shadowmoon Valley"], 46.5, 45.0},
|
||||
[21059] = { AL["Enraged Water Spirit"], BabbleZone["Shadowmoon Valley"], 51.0, 25.5},
|
||||
[21060] = { AL["Enraged Air Spirit"], BabbleZone["Shadowmoon Valley"], 70.5, 28.5},
|
||||
[21061] = { AL["Enraged Fire Spirit"], BabbleZone["Shadowmoon Valley"], 48.0, 43.5},
|
||||
[21302] = { AL["Shadow Council Warlock"], BabbleZone["Shadowmoon Valley"], 22.9, 38.2},
|
||||
[21314] = { AL["Terrormaster"], BabbleZone["Shadowmoon Valley"], 24.0, 45.0},
|
||||
[21454] = { AL["Ashtongue Warrior"], BabbleZone["Shadowmoon Valley"], 57.0, 36.0},
|
||||
[22016] = { AL["Eclipsion Soldier"], BabbleZone["Shadowmoon Valley"], 52.8, 66.5},
|
||||
[22017] = { AL["Eclipsion Spellbinder"], BabbleZone["Shadowmoon Valley"], 52.7, 63.4},
|
||||
[22018] = { AL["Eclipsion Cavalier"], BabbleZone["Shadowmoon Valley"], 52.7, 61.1},
|
||||
[22076] = { AL["Torloth the Magnificent"], BabbleZone["Shadowmoon Valley"], 51.2, 72.5},
|
||||
[22093] = { AL["Illidari Watcher"], BabbleZone["Shadowmoon Valley"], 52.5, 72.0},
|
||||
[23305] = { AL["Crazed Murkblood Foreman"], BabbleZone["Shadowmoon Valley"], 72.3, 90.0},
|
||||
[23324] = { AL["Crazed Murkblood Miner"], BabbleZone["Shadowmoon Valley"], 73.5, 88.5},-- Sholazar Basin
|
||||
[28123] = { AL["Venture Co. Excavator"], BabbleZone["Sholazar Basin"], 35.8, 45.5},
|
||||
[28379] = { AL["Shattertusk Mammoth"], BabbleZone["Sholazar Basin"], 53.5, 24.4},-- Silithus
|
||||
[14454] = { BabbleBoss["The Windreaver"], BabbleZone["Silithus"], 27.0, 26.8},-- Silverpine Forest
|
||||
[3530] = { AL["Pyrewood Tailor"], BabbleZone["Silverpine Forest"], 45.7, 71.0},
|
||||
[3531] = { AL["Moonrage Tailor"], BabbleZone["Silverpine Forest"], 45.5, 73.3},-- Stonetalon Mountains
|
||||
[4028] = { AL["Charred Ancient"], BabbleZone["Stonetalon Mountains"], 34.0, 66.1},
|
||||
[4029] = { AL["Blackened Ancient"], BabbleZone["Stonetalon Mountains"], 33.0, 70.7},
|
||||
[4030] = { AL["Vengeful Ancient"], BabbleZone["Stonetalon Mountains"], 33.0, 72.4},-- Stranglethorn Vale
|
||||
[674 ] = { AL["Venture Co. Strip Miner"], BabbleZone["Stranglethorn Vale"], 40.5, 43.7},
|
||||
[938 ] = { AL["Kurzen Commando"], BabbleZone["Stranglethorn Vale"], 47.2, 7.6},
|
||||
[1561] = { AL["Bloodsail Raider"], BabbleZone["Stranglethorn Vale"], 27.0, 69.9},-- Swamp of Sorrows
|
||||
[764 ] = { AL["Swampwalker"], BabbleZone["Swamp of Sorrows"], 51.0, 36.7},
|
||||
[765 ] = { AL["Swampwalker Elder"], BabbleZone["Swamp of Sorrows"], 12.0, 33.2},
|
||||
[766 ] = { AL["Tangled Horror"], BabbleZone["Swamp of Sorrows"], 12.0, 31.8},
|
||||
[1081] = { AL["Mire Lord"], BabbleZone["Swamp of Sorrows"], 5.6, 31.4},
|
||||
[14448] = { AL["Molt Thorn"], BabbleZone["Swamp of Sorrows"], 30.4, 41.4},-- Tanaris
|
||||
[5615] = { AL["Wastewander Rogue"], BabbleZone["Tanaris"], 60.4, 39.3},
|
||||
[5616] = { AL["Wastewander Thief"], BabbleZone["Tanaris"], 63.0, 29.9},
|
||||
[5617] = { AL["Wastewander Shadow Mage"], BabbleZone["Tanaris"], 60.0, 37.4},
|
||||
[5618] = { AL["Wastewander Bandit"], BabbleZone["Tanaris"], 63.6, 30.6},
|
||||
[5623] = { AL["Wastewander Assassin"], BabbleZone["Tanaris"], 58.6, 36.1},
|
||||
[7805] = { AL["Wastewander Scofflaw"], BabbleZone["Tanaris"], 66.1, 35.0},
|
||||
[7883] = { AL["Andre Firebeard"], BabbleZone["Tanaris"], 73.4, 47.1},-- Terokkar Forest
|
||||
[16810] = { AL["Bonechewer Backbreaker"], BabbleZone["Terokkar Forest"], 66.0, 55.2},
|
||||
[22148] = { AL["Gordunni Head-Splitter"], BabbleZone["Terokkar Forest"], 22.5, 8.3},
|
||||
[23022] = { AL["Gordunni Soulreaper"], BabbleZone["Terokkar Forest"], 22.9, 8.8},
|
||||
[22143] = { AL["Gordunni Back-Breaker"], BabbleZone["Terokkar Forest"], 21.2, 8.1},
|
||||
[22144] = { AL["Gordunni Elementalist"], BabbleZone["Terokkar Forest"], 21.3, 12.0},-- The Barrens
|
||||
[3385] = { AL["Theramore Marine"], BabbleZone["The Barrens"], 61.2, 52.2},
|
||||
[3386] = { AL["Theramore Preserver"], BabbleZone["The Barrens"], 63.1, 56.7},-- The Hinterlands
|
||||
[2644] = { AL["Vilebranch Hideskinner"], BabbleZone["The Hinterlands"], 62.2, 69.2},-- The Storm Peaks
|
||||
[29370] = { AL["Stormforged Champion"], BabbleZone["The Storm Peaks"], 26.1, 47.5},
|
||||
[29376] = { AL["Stormforged Artificer"], BabbleZone["The Storm Peaks"], 31.5, 44.2},
|
||||
[29402] = { AL["Ironwool Mammoth"], BabbleZone["The Storm Peaks"], 36.0, 83.5},
|
||||
[29570] = { AL["Nascent Val'kyr"], BabbleZone["The Storm Peaks"], 27.1, 60.0},
|
||||
[29792] = { AL["Frostfeather Screecher"], BabbleZone["The Storm Peaks"], 33.5, 65.5},
|
||||
[29793] = { AL["Frostfeather Witch"], BabbleZone["The Storm Peaks"], 33.0, 66.8},
|
||||
[30208] = { AL["Stormforged Ambusher"], BabbleZone["The Storm Peaks"], 70.3, 57.5},
|
||||
[30222] = { AL["Stormforged Infiltrator"], BabbleZone["The Storm Peaks"], 58.5, 63.2},
|
||||
[30260] = { AL["Stoic Mammoth"], BabbleZone["The Storm Peaks"], 54.8, 64.9},
|
||||
[30448] = { AL["Plains Mammoth"], BabbleZone["The Storm Peaks"], 66.1, 45.6},-- Thousand Needles
|
||||
[10760] = { AL["Grimtotem Geomancer"], BabbleZone["Thousand Needles"], 33.1, 35.4},-- Un'Goro Crater
|
||||
[6556] = { AL["Muculent Ooze"], BabbleZone["Un'Goro Crater"], 62.2, 25.4},
|
||||
[6557] = { AL["Primal Ooze"], BabbleZone["Un'Goro Crater"], 51.8, 34.9},
|
||||
[6559] = { AL["Glutinous Ooze"], BabbleZone["Un'Goro Crater"], 39.0, 37.7},
|
||||
[9477] = { AL["Cloned Ooze"], BabbleZone["Un'Goro Crater"], 45.5, 22.7},-- Western Plaguelands
|
||||
[1783] = { AL["Skeletal Flayer"], BabbleZone["Western Plaguelands"], 50.7, 80.5},
|
||||
[1791] = { AL["Slavering Ghoul"], BabbleZone["Western Plaguelands"], 36.0, 56.5},
|
||||
[1812] = { AL["Rotting Behemoth"], BabbleZone["Western Plaguelands"], 64.5, 36.6},
|
||||
[1813] = { AL["Decaying Horror"], BabbleZone["Western Plaguelands"], 62.0, 37.6},
|
||||
[1836] = { AL["Scarlet Cavalier"], BabbleZone["Western Plaguelands"], 42.5, 16.0},
|
||||
[1844] = { AL["Foreman Marcrid"], BabbleZone["Western Plaguelands"], 47.7, 35.4},
|
||||
[1885] = { AL["Scarlet Smith"], BabbleZone["Western Plaguelands"], 45.4, 14.5},
|
||||
[4494] = { AL["Scarlet Spellbinder"], BabbleZone["Western Plaguelands"], 52.7, 38.4},-- Westfall
|
||||
[450 ] = { AL["Defias Renegade Mage"], BabbleZone["Westfall"], 53.0, 78.8},
|
||||
[590 ] = { AL["Defias Looter"], BabbleZone["Westfall"], 37.5, 58.4},-- Wetlands
|
||||
[1051] = { AL["Dark Iron Dwarf"], BabbleZone["Wetlands"], 60.1, 25.7},
|
||||
[1052] = { AL["Dark Iron Saboteur"], BabbleZone["Wetlands"], 58.5, 24.2},
|
||||
[1053] = { AL["Dark Iron Tunneler"], BabbleZone["Wetlands"], 61.4, 27.7},
|
||||
[1054] = { AL["Dark Iron Demolitionist"], BabbleZone["Wetlands"], 59.5, 29.7},
|
||||
[1160] = { AL["Captain Halyndor"], BabbleZone["Wetlands"], 15.0, 24.0},
|
||||
[1364] = { AL["Balgaras the Foul"], BabbleZone["Wetlands"], 60.0, 28.7},-- Winterspring
|
||||
[7428] = { AL["Frostmaul Giant"], BabbleZone["Winterspring"], 58.5, 70.0},
|
||||
[7437] = { AL["Cobalt Mageweaver"], BabbleZone["Winterspring"], 59.5, 49.2},
|
||||
[7438] = { AL["Winterfall Ursa"], BabbleZone["Winterspring"], 67.5, 36.3},
|
||||
[7440] = { AL["Winterfall Den Watcher"], BabbleZone["Winterspring"], 68.0, 35.5},
|
||||
[7524] = { AL["Anguished Highborne"], BabbleZone["Winterspring"], 50.7, 41.9},
|
||||
[14457] = { BabbleBoss["Princess Tempestria"], BabbleZone["Winterspring"], 52.7, 41.9},-- Zul'drak
|
||||
[28851] = { AL["Enraged Mammoth"], BabbleZone["Zul'Drak"], 72.0, 41.1},
|
||||
[29235] = { AL["Gundrak Savage"], BabbleZone["Zul'Drak"], 66.8, 42.4},-------------------------------------------------------------------------------
|
||||
-- Instances
|
||||
-------------------------------------------------------------------------------
|
||||
-- Ahn'kahet: The Old Kingdom
|
||||
[29311] = { BabbleBoss["Herald Volazj"], BabbleZone["Ahn'kahet: The Old Kingdom"], 0, 0},-- Auchenai Crypts
|
||||
[18497] = { AL["Auchenai Monk"], BabbleZone["Auchenai Crypts"], 0, 0},
|
||||
[18521] = { AL["Raging Skeleton"], BabbleZone["Auchenai Crypts"], 0, 0},-- Azjol-Nerub
|
||||
[29120] = { BabbleBoss["Anub'arak"], BabbleZone["Azjol-Nerub"], 0, 0},-- Blackrock Depths
|
||||
[8897] = { AL["Doomforge Craftsman"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[8898] = { AL["Anvilrage Marshal"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[8903] = { AL["Anvilrage Captain"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[8920] = { AL["Weapon Technician"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[8983] = { BabbleBoss["Golem Lord Argelmach"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[9024] = { BabbleBoss["Pyromancer Loregrain"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[9025] = { BabbleBoss["Lord Roccor"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[9028] = { BabbleBoss["Grizzle"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[9499] = { BabbleBoss["Plugger Spazzring"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[9543] = { BabbleBoss["Ribbly Screwspigot"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[9554] = { AL["Hammered Patron"], BabbleZone["Blackrock Depths"], 0, 0},
|
||||
[10043] = { AL["Ribbly's Crony"], BabbleZone["Blackrock Depths"], 0, 0},-- Blackrock Spire
|
||||
[9216] = { AL["Spirestone Warlord"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[9259] = { AL["Firebrand Grunt"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[9260] = { AL["Firebrand Legionnaire"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[9262] = { AL["Firebrand Invoker"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[9264] = { AL["Firebrand Pyromancer"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[9596] = { BabbleBoss["Bannok Grimaxe"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[9736] = { BabbleBoss["Quartermaster Zigris"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[10264] = { BabbleBoss["Solakar Flamewreath"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[10317] = { AL["Blackhand Elite"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[10339] = { BabbleBoss["Gyth"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[10363] = { BabbleBoss["General Drakkisath"], BabbleZone["Blackrock Spire"], 0, 0},
|
||||
[10899] = { BabbleBoss["Goraluk Anvilcrack"], BabbleZone["Blackrock Spire"], 0, 0},-- Blackwing Lair
|
||||
[14401] = { AL["Master Elemental Shaper Krixix"], BabbleZone["Blackwing Lair"], 0, 0},-- Dire Maul
|
||||
[11487] = { BabbleBoss["Magister Kalendris"], BabbleZone["Dire Maul"], 59.04, 48.82},
|
||||
[14354] = { BabbleBoss["Pusillin"], BabbleZone["Dire Maul"], 59.04, 48.82},-- Drak'Tharon Keep
|
||||
[26632] = { BabbleBoss["The Prophet Tharon'ja"], BabbleZone["Drak'Tharon Keep"], 0, 0},-- Gnomeregan
|
||||
[7800] = { BabbleBoss["Mekgineer Thermaplugg"], BabbleZone["Gnomeregan"], 0, 0},-- Halls of Lightning
|
||||
[28923] = { BabbleBoss["Loken"], BabbleZone["Halls of Lightning"], 0, 0},-- Halls of Stone
|
||||
[27978] = { BabbleBoss["Sjonnir The Ironshaper"], BabbleZone["Halls of Stone"], 0, 0},-- Karazhan
|
||||
[16406] = { AL["Phantom Attendant"], BabbleZone["Karazhan"], 0, 0},
|
||||
[16408] = { AL["Phantom Valet"], BabbleZone["Karazhan"], 0, 0},
|
||||
[16472] = { AL["Phantom Stagehand"], BabbleZone["Karazhan"], 0, 0},
|
||||
[15687] = { BabbleBoss["Moroes"], BabbleZone["Karazhan"], 0, 0},
|
||||
[15688] = { BabbleBoss["Terestian Illhoof"], BabbleZone["Karazhan"], 0, 0},
|
||||
[16152] = { BabbleBoss["Attumen the Huntsman"], BabbleZone["Karazhan"], 0, 0},
|
||||
[16524] = { BabbleBoss["Shade of Aran"], BabbleZone["Karazhan"], 0, 0},-- Magister's Terrace
|
||||
[24560] = { BabbleBoss["Priestess Delrissa"], BabbleZone["Magisters' Terrace"], 0, 0},
|
||||
[24664] = { BabbleBoss["Kael'thas Sunstrider"], BabbleZone["Magisters' Terrace"], 0, 0},-- Mana-Tombs
|
||||
[18314] = { AL["Nexus Stalker"], BabbleZone["Mana-Tombs"], 0, 0},
|
||||
[18317] = { AL["Ethereal Priest"], BabbleZone["Mana-Tombs"], 0, 0},
|
||||
[18344] = { BabbleBoss["Nexus-Prince Shaffar"], BabbleZone["Mana-Tombs"], 0, 0},-- Oculus
|
||||
[27656] = { BabbleBoss["Ley-Guardian Eregos"], BabbleZone["The Oculus"], 0, 0},-- Old Hillsbrad Foothills
|
||||
[17820] = { AL["Durnholde Rifleman"], BabbleZone["Old Hillsbrad Foothills"], 0, 0},
|
||||
[17862] = { BabbleBoss["Captain Skarloc"], BabbleZone["Old Hillsbrad Foothills"], 0, 0},
|
||||
[18096] = { BabbleBoss["Epoch Hunter"], BabbleZone["Old Hillsbrad Foothills"], 0, 0},
|
||||
[28132] = { AL["Don Carlos"], BabbleZone["Old Hillsbrad Foothills"], 0, 0},-- Ruins of Ahn'Qiraj
|
||||
[15340] = { BabbleBoss["Moam"], BabbleZone["Ruins of Ahn'Qiraj"], 0, 0},-- Scholomance
|
||||
[1853] = { BabbleBoss["Darkmaster Gandling"], BabbleZone["Scholomance"], 0, 0},
|
||||
[10469] = { AL["Scholomance Adept"], BabbleZone["Scholomance"], 0, 0},
|
||||
[10499] = { AL["Spectral Researcher"], BabbleZone["Scholomance"], 0, 0},
|
||||
[10503] = { BabbleBoss["Jandice Barov"], BabbleZone["Scholomance"], 0, 0},
|
||||
[10508] = { BabbleBoss["Ras Frostwhisper"], BabbleZone["Scholomance"], 0, 0},-- Sethekk Halls
|
||||
[18320] = { AL["Time-Lost Shadowmage"], BabbleZone["Sethekk Halls"], 0, 0},
|
||||
[18322] = { AL["Sethekk Ravenguard"], BabbleZone["Sethekk Halls"], 0, 0},
|
||||
[18472] = { BabbleBoss["Darkweaver Syth"], BabbleZone["Sethekk Halls"], 0, 0},-- Shadow Labyrinth
|
||||
[18667] = { BabbleBoss["Blackheart the Inciter"], BabbleZone["Shadow Labyrinth"], 0, 0},
|
||||
[18708] = { BabbleBoss["Murmur"], BabbleZone["Shadow Labyrinth"], 0, 0},
|
||||
[18830] = { AL["Cabal Fanatic"], BabbleZone["Shadow Labyrinth"], 0, 0},-- Stratholme
|
||||
[10398] = { AL["Thuzadin Shadowcaster"], BabbleZone["Stratholme"], 0, 0},
|
||||
[10422] = { AL["Crimson Sorcerer"], BabbleZone["Stratholme"], 0, 0},
|
||||
[10426] = { AL["Crimson Inquisitor"], BabbleZone["Stratholme"], 0, 0},
|
||||
[10813] = { BabbleBoss["Balnazzar"], BabbleZone["Stratholme"], 0, 0},
|
||||
[10438] = { BabbleBoss["Maleki the Pallid"], BabbleZone["Stratholme"], 0, 0},
|
||||
[10997] = { BabbleBoss["Cannon Master Willey"], BabbleZone["Stratholme"], 0, 0},-- Temple of Ahn'Qiraj
|
||||
[15263] = { BabbleBoss["The Prophet Skeram"], BabbleZone["Temple of Ahn'Qiraj"], 0, 0},
|
||||
[15275] = { BabbleBoss["Emperor Vek'nilash"], BabbleZone["Temple of Ahn'Qiraj"], 0, 0},
|
||||
[15276] = { BabbleBoss["Emperor Vek'lor"], BabbleZone["Temple of Ahn'Qiraj"], 0, 0},-- The Arcatraz
|
||||
[20869] = { AL["Arcatraz Sentinel"], BabbleZone["The Arcatraz"], 0, 0},
|
||||
[20880] = { AL["Eredar Deathbringer"], BabbleZone["The Arcatraz"], 0, 0},
|
||||
[20898] = { AL["Gargantuan Abyssal"], BabbleZone["The Arcatraz"], 0, 0},
|
||||
[20900] = { AL["Unchained Doombringer"], BabbleZone["The Arcatraz"], 0, 0},
|
||||
[20885] = { BabbleBoss["Dalliah the Doomsayer"], BabbleZone["The Arcatraz"], 0, 0},--The Black Morass
|
||||
[21104] = { AL["Rift Keeper"], BabbleZone["The Black Morass"], 0, 0},
|
||||
[17839] = { AL["Rift Lord"], BabbleZone["The Black Morass"], 0, 0},
|
||||
[17879] = { BabbleBoss["Chrono Lord Deja"], BabbleZone["The Black Morass"], 0, 0},-- The Botanica
|
||||
[17975] = { BabbleBoss["High Botanist Freywinn"], BabbleZone["The Botanica"], 0, 0},
|
||||
[18422] = { AL["Sunseeker Botanist"], BabbleZone["The Botanica"], 0, 0},
|
||||
[17977] = { BabbleBoss["Warp Splinter"], BabbleZone["The Botanica"], 0, 0},
|
||||
[17978] = { BabbleBoss["Thorngrin the Tender"], BabbleZone["The Botanica"], 0, 0},-- The Deadmines
|
||||
[657 ] = { AL["Defias Pirate"], BabbleZone["The Deadmines"], 0, 0},
|
||||
[1732] = { AL["Defias Squallshaper"], BabbleZone["The Deadmines"], 0, 0},-- The Mechanar
|
||||
[19168] = { AL["Sunseeker Astromage"], BabbleZone["The Mechanar"], 0, 0},
|
||||
[19219] = { BabbleBoss["Mechano-Lord Capacitus"], BabbleZone["The Mechanar"], 0, 0},
|
||||
[19220] = { BabbleBoss["Pathaleon the Calculator"], BabbleZone["The Mechanar"], 0, 0},
|
||||
[19221] = { BabbleBoss["Nethermancer Sepethrea"], BabbleZone["The Mechanar"], 0, 0},
|
||||
[18831] = { BabbleBoss["High King Maulgar"], BabbleZone["Gruul's Lair"], 0, 0},-- The Nexus
|
||||
[26723] = { BabbleBoss["Keristrasza"], BabbleZone["The Nexus"], 0, 0},-- The Shattered Halls
|
||||
[17465] = { AL["Shattered Hand Centurion"], BabbleZone["The Shattered Halls"], 0, 0},
|
||||
[16807] = { BabbleBoss["Grand Warlock Nethekurse"], BabbleZone["The Shattered Halls"], 0, 0},-- The Slave Pens
|
||||
[17941] = { BabbleBoss["Mennu the Betrayer"], BabbleZone["The Slave Pens"], 0, 0},-- The Steamvault
|
||||
[17722] = { AL["Coilfang Sorceress"], BabbleZone["The Steamvault"], 0, 0},
|
||||
[17803] = { AL["Coilfang Oracle"], BabbleZone["The Steamvault"], 0, 0},
|
||||
[17796] = { BabbleBoss["Mekgineer Steamrigger"], BabbleZone["The Steamvault"], 0, 0},
|
||||
[17797] = { BabbleBoss["Hydromancer Thespia"], BabbleZone["The Steamvault"], 0, 0},
|
||||
[17798] = { BabbleBoss["Warlord Kalithresh"], BabbleZone["The Steamvault"], 0, 0},-- The Temple of Atal'Hakkar
|
||||
[5226] = { AL["Murk Worm"], BabbleZone["The Temple of Atal'Hakkar"], 0, 0},-- The Violet Hold
|
||||
[31134] = { BabbleBoss["Cyanigosa"], BabbleZone["The Violet Hold"], 0, 0},-- Utgarde Keep
|
||||
[23954] = { BabbleBoss["Ingvar the Plunderer"], BabbleZone["Utgarde Keep"], 0, 0},-- Utgarde Pinnacle
|
||||
[26861] = { BabbleBoss["King Ymiron"], BabbleZone["Utgarde Pinnacle"], 0, 0},};
|
||||
|
||||
AtlasLoot_CraftingData["QuestList"] = {
|
||||
[22] = {AL["Quest"], BabbleZone["Westfall"], 55.77, 30.92, ALLIANCE},
|
||||
[38] = {AL["Quest"], BabbleZone["Westfall"], 55.77, 30.92, ALLIANCE},
|
||||
[90] = {AL["Quest"], BabbleZone["Duskwood"], 73.8, 43.7, ALLIANCE},
|
||||
[92] = {AL["Quest"], BabbleZone["Redridge Mountains"], 22.7, 44.0, ALLIANCE},
|
||||
[93] = {AL["Quest"], BabbleZone["Duskwood"], 73.8, 43.7, ALLIANCE},
|
||||
[127] = {AL["Quest"], BabbleZone["Redridge Mountains"], 27.8, 47.3, ALLIANCE},
|
||||
[296] = {AL["Quest"], BabbleZone["Wetlands"], 38.0, 49.9, ALLIANCE},
|
||||
[384] = {AL["Quest"], BabbleZone["Dun Morogh"], 46.8, 52.5, ALLIANCE},
|
||||
[385] = {AL["Quest"], BabbleZone["Loch Modan"], 81.8, 61.7, ALLIANCE},
|
||||
[418] = {AL["Quest"], BabbleZone["Loch Modan"], 34.8, 49.1, ALLIANCE},
|
||||
[429] = {AL["Quest"], BabbleZone["Silverpine Forest"], 53.5, 13.5, HORDE},
|
||||
[471] = {AL["Quest"], BabbleZone["Wetlands"], 8.6, 55.7, ALLIANCE},
|
||||
[498] = {AL["Quest"], BabbleZone["Hillsbrad Foothills"], 63.2, 20.7, HORDE},
|
||||
[501] = {AL["Quest"], BabbleZone["Hillsbrad Foothills"], 61.5, 19.2, HORDE},
|
||||
[555] = {AL["Quest"], BabbleZone["Hillsbrad Foothills"], 51.8, 58.7, ALLIANCE},
|
||||
[564] = {AL["Quest"], BabbleZone["Hillsbrad Foothills"], 52.4, 56.0, ALLIANCE},
|
||||
[703] = {AL["Quest"], BabbleZone["Badlands"], 42.4, 52.8, NEUTRAL},
|
||||
[715] = {AL["Quest"], BabbleZone["Badlands"], 25.8, 44.4, NEUTRAL},
|
||||
[769] = {AL["Quest"], BabbleZone["Thunder Bluff"], 44.1, 44.6, HORDE},
|
||||
[862] = {AL["Quest"], BabbleZone["The Barrens"], 55.3, 31.8, HORDE},
|
||||
[1487] = {AL["Quest"], BabbleZone["The Barrens"], 45.8, 36.3, NEUTRAL},
|
||||
[1559] = {AL["Quest"], BabbleZone["Badlands"], 42.4, 52.8, NEUTRAL},
|
||||
[1578] = {AL["Quest"], BabbleZone["Ironforge"], 48.5, 43.0, ALLIANCE},
|
||||
[1582] = {AL["Quest"], BabbleZone["Darnassus"], 64.3, 21.9, ALLIANCE},
|
||||
[1618] = {AL["Quest"], BabbleZone["Ironforge"], 48.5, 43.0, ALLIANCE},
|
||||
[2178] = {AL["Quest"], BabbleZone["Darkshore"], 37.7, 40.7, ALLIANCE},
|
||||
[2203] = {AL["Quest"], BabbleZone["Badlands"], 2.5, 46.1, HORDE},
|
||||
[2359] = {AL["Quest"], BabbleZone["Westfall"], 68.4, 70.0, ALLIANCE},
|
||||
[2478] = {AL["Quest"], BabbleZone["The Barrens"], 55.5, 5.6, HORDE},
|
||||
[2501] = {AL["Quest"], BabbleZone["Loch Modan"], 37.0, 49.2, ALLIANCE},
|
||||
[2751] = {AL["Quest"], BabbleZone["Orgrimmar"], 78.0, 21.4, HORDE},
|
||||
[2752] = {AL["Quest"], BabbleZone["Orgrimmar"], 78.0, 21.4, HORDE},
|
||||
[2753] = {AL["Quest"], BabbleZone["Orgrimmar"], 78.0, 21.4, HORDE},
|
||||
[2754] = {AL["Quest"], BabbleZone["Orgrimmar"], 78.0, 21.4, HORDE},
|
||||
[2755] = {AL["Quest"], BabbleZone["Orgrimmar"], 78.0, 21.4, HORDE},
|
||||
[2756] = {AL["Quest"], BabbleZone["Orgrimmar"], 80.7, 23.4, HORDE},
|
||||
[2758] = {AL["Quest"], BabbleZone["Stormwind City"], 63.0, 36.9, ALLIANCE},
|
||||
[2761] = {AL["Quest"], BabbleZone["Stranglethorn Vale"], 50.6, 20.5, NEUTRAL},
|
||||
[2762] = {AL["Quest"], BabbleZone["Stranglethorn Vale"], 50.6, 20.5, NEUTRAL},
|
||||
[2763] = {AL["Quest"], BabbleZone["Stranglethorn Vale"], 50.6, 20.5, NEUTRAL},
|
||||
[2771] = {AL["Quest"], BabbleZone["Tanaris"], 51.5, 28.7, NEUTRAL},
|
||||
[2772] = {AL["Quest"], BabbleZone["Tanaris"], 51.5, 28.7, NEUTRAL},
|
||||
[2773] = {AL["Quest"], BabbleZone["Tanaris"], 51.5, 28.7, NEUTRAL},
|
||||
[2848] = {AL["Quest"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[2849] = {AL["Quest"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[2850] = {AL["Quest"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[2851] = {AL["Quest"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[2852] = {AL["Quest"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[2853] = {AL["Quest"], BabbleZone["Feralas"], 30.6, 42.7, ALLIANCE},
|
||||
[2855] = {AL["Quest"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[2856] = {AL["Quest"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[2857] = {AL["Quest"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[2858] = {AL["Quest"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[2859] = {AL["Quest"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[2860] = {AL["Quest"], BabbleZone["Feralas"], 74.5, 42.9, HORDE},
|
||||
[3402] = {AL["Quest"], BabbleZone["Searing Gorge"], 41.0, 74.8, NEUTRAL},
|
||||
[4083] = {AL["Quest"], BabbleZone["Blackrock Depths"], 0, 0, NEUTRAL},
|
||||
[4161] = {AL["Quest"], BabbleZone["Teldrassil"], 57.1, 61.3, ALLIANCE},
|
||||
[5124] = {AL["Quest"], BabbleZone["Winterspring"], 61.0, 38.7, NEUTRAL},
|
||||
[5127] = {AL["Quest"], BabbleZone["Winterspring"], 63.8, 73.8, NEUTRAL},
|
||||
[5305] = {AL["Quest"], BabbleZone["Winterspring"], 61.3, 37.1, NEUTRAL},
|
||||
[5306] = {AL["Quest"], BabbleZone["Winterspring"], 61.3, 37.1, NEUTRAL},
|
||||
[5307] = {AL["Quest"], BabbleZone["Winterspring"], 61.3, 37.2, NEUTRAL},
|
||||
[5518] = {AL["Quest"], BabbleZone["Dire Maul"], 0, 0, NEUTRAL},
|
||||
[6032] = {AL["Quest"], BabbleZone["Felwood"], 65.7, 2.9, NEUTRAL},
|
||||
[6610] = {AL["Quest"], BabbleZone["Tanaris"], 52.6, 28.1, NEUTRAL},
|
||||
[6622] = {AL["Quest"], BabbleZone["Arathi Highlands"], 73.4, 36.8, HORDE},
|
||||
[6624] = {AL["Quest"], BabbleZone["Dustwallow Marsh"], 67.7, 48.9, ALLIANCE},
|
||||
[7321] = {AL["Quest"], BabbleZone["Hillsbrad Foothills"], 62.4, 19.1, HORDE},
|
||||
[7493] = {AL["Quest"], BabbleZone["Orgrimmar"], 51.0, 76.5, HORDE},
|
||||
[7497] = {AL["Quest"], BabbleZone["Stormwind City"], 67.2, 85.5, ALLIANCE},
|
||||
[7604] = {AL["Quest"], BabbleZone["Blackrock Depths"], 0, 0, NEUTRAL},
|
||||
[7649] = {AL["Quest"], BabbleZone["Dire Maul"], 0, 0, NEUTRAL},
|
||||
[7650] = {AL["Quest"], BabbleZone["Dire Maul"], 0, 0, NEUTRAL},
|
||||
[7651] = {AL["Quest"], BabbleZone["Dire Maul"], 0, 0, NEUTRAL},
|
||||
[7653] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[7654] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[7655] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[7656] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[7657] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[7658] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[7659] = {AL["Quest"], BabbleZone["Tanaris"], 51.4, 28.7, NEUTRAL},
|
||||
[8313] = {AL["Quest"], BabbleZone["Silithus"], 38.0, 45.3, NEUTRAL},
|
||||
[8323] = {AL["Quest"], BabbleZone["Silithus"], 67.1, 69.7, NEUTRAL},
|
||||
[8586] = {AL["Quest"], BabbleZone["Tanaris"], 52.6, 28.1, NEUTRAL},
|
||||
[8798] = {AL["Quest"], BabbleZone["Winterspring"], 60.9, 37.7, NEUTRAL},
|
||||
[9171] = {AL["Quest"], BabbleZone["Ghostlands"], 48.3, 30.9, HORDE},
|
||||
[9249] = {AL["Quest"], BabbleZone["Darkmoon Faire"], 0, 0, NEUTRAL},
|
||||
[9356] = {AL["Quest"], BabbleZone["Hellfire Peninsula"], 49.2, 74.8, NEUTRAL},
|
||||
[9454] = {AL["Quest"], BabbleZone["Azuremyst Isle"], 49.8, 51.9, ALLIANCE},
|
||||
[9635] = {AL["Quest"], BabbleZone["Zangarmarsh"], 33.7, 50.2, HORDE},
|
||||
[9636] = {AL["Quest"], BabbleZone["Zangarmarsh"], 68.6, 50.2, ALLIANCE},
|
||||
[10860] = {AL["Quest"], BabbleZone["Blade's Edge Mountains"], 76.1, 60.3, HORDE},
|
||||
[11377] = {AL["Quest"], BabbleZone["Shattrath City"], 61.6, 16.5, NEUTRAL},
|
||||
[11379] = {AL["Quest"], BabbleZone["Shattrath City"], 61.6, 16.5, NEUTRAL},
|
||||
[11380] = {AL["Quest"], BabbleZone["Shattrath City"], 61.6, 16.5, NEUTRAL},
|
||||
[11381] = {AL["Quest"], BabbleZone["Shattrath City"], 61.6, 16.5, NEUTRAL},
|
||||
[11666] = {AL["Quest"], BabbleZone["Terokkar Forest"], 38.7, 12.8, NEUTRAL},
|
||||
[11667] = {AL["Quest"], BabbleZone["Terokkar Forest"], 38.7, 12.8, NEUTRAL},
|
||||
[11668] = {AL["Quest"], BabbleZone["Terokkar Forest"], 38.7, 12.8, NEUTRAL},
|
||||
[11669] = {AL["Quest"], BabbleZone["Terokkar Forest"], 38.7, 12.8, NEUTRAL},
|
||||
[12889] = {AL["Quest"], BabbleZone["The Storm Peaks"], 37.7, 46.5, NEUTRAL},
|
||||
[13571] = {AL["Quest"], BabbleZone["Dalaran"], 0, 0, NEUTRAL},
|
||||
[13087] = {AL["Quest"], BabbleZone["Howling Fjord"], 58.2, 62.1, ALLIANCE},
|
||||
[13088] = {AL["Quest"], BabbleZone["Borean Tundra"], 57.9, 71.5, ALLIANCE},
|
||||
[13089] = {AL["Quest"], BabbleZone["Howling Fjord"], 78.7, 29.5, HORDE},
|
||||
[13090] = {AL["Quest"], BabbleZone["Borean Tundra"], 42.0, 54.2, HORDE},
|
||||
[13100] = {AL["Quest"], BabbleZone["Dalaran"], 40.5, 65.8, ALLIANCE},
|
||||
[13101] = {AL["Quest"], BabbleZone["Dalaran"], 40.5, 65.8, ALLIANCE},
|
||||
[13102] = {AL["Quest"], BabbleZone["Dalaran"], 40.5, 65.8, ALLIANCE},
|
||||
[13103] = {AL["Quest"], BabbleZone["Dalaran"], 40.5, 65.8, ALLIANCE},
|
||||
[13107] = {AL["Quest"], BabbleZone["Dalaran"], 40.5, 65.8, ALLIANCE},
|
||||
[13112] = {AL["Quest"], BabbleZone["Dalaran"], 70.0, 38.6, HORDE},
|
||||
[13113] = {AL["Quest"], BabbleZone["Dalaran"], 70.0, 38.6, HORDE},
|
||||
[13114] = {AL["Quest"], BabbleZone["Dalaran"], 70.0, 38.6, HORDE},
|
||||
[13115] = {AL["Quest"], BabbleZone["Dalaran"], 70.0, 38.6, HORDE},
|
||||
[13116] = {AL["Quest"], BabbleZone["Dalaran"], 70.0, 38.6, HORDE},
|
||||
[14151] = {AL["Quest"], BabbleZone["Dalaran"], 42.5, 32.1, NEUTRAL},
|
||||
[14182] = {AL["Quest"], AL["Bounty Hunter Kolark"]..WHITE.." - "..BabbleZone["Orgrimmar"], 75.1, 23.0, HORDE},
|
||||
[14183] = {AL["Quest"], AL["Artilleryman Sheldonore"]..WHITE.." - "..BabbleZone["Ironforge"], 19.7, 51.9, ALLIANCE},
|
||||
};
|
||||
@@ -1,282 +1,224 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
local MAX_ARGUMENTS = 6;
|
||||
local MAX_ARGUMENTS = 6
|
||||
|
||||
local framename = "AtlasLootDefaultFrame_AdvancedSearchPanel";
|
||||
local framename = "AtlasLootDefaultFrame_AdvancedSearchPanel"
|
||||
|
||||
--Create Main Search Panel
|
||||
local searchpanel = CreateFrame("FRAME", framename, AtlasLootDefaultFrame, nil);
|
||||
searchpanel:SetPoint("TOPLEFT", AtlasLootDefaultFrame_LootBackground, "TOPLEFT", 2, -2);
|
||||
searchpanel:SetSize(510, 510);
|
||||
searchpanel.closebtn = CreateFrame("Button", framename.."_CloseButton", searchpanel, "UIPanelCloseButton");
|
||||
searchpanel.closebtn:SetPoint("TOPRIGHT", searchpanel, "TOPRIGHT", -10, -10);
|
||||
searchpanel:Hide();
|
||||
searchpanel.closebtn:SetScript("OnClick", function() AtlasLoot_AdvancedSearchClose(); end);
|
||||
searchpanel.closebtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end);
|
||||
local searchpanel = CreateFrame("FRAME", framename, AtlaslLoot_LootBackground, nil)
|
||||
searchpanel:SetPoint("TOPLEFT", AtlaslLoot_LootBackground, "TOPLEFT", 2, -2)
|
||||
searchpanel:SetSize(510, 510)
|
||||
searchpanel.closebtn = CreateFrame("Button", framename.."_CloseButton", searchpanel, "UIPanelCloseButton")
|
||||
searchpanel.closebtn:SetPoint("TOPRIGHT", searchpanel, "TOPRIGHT", -10, -10)
|
||||
searchpanel:Hide()
|
||||
searchpanel.closebtn:SetScript("OnClick", function() AtlasLoot:AdvancedSearchClose() end)
|
||||
searchpanel.closebtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end)
|
||||
|
||||
--Create search/name box
|
||||
local searchbox = CreateFrame("EditBox", framename.."_SearchBox", searchpanel, "InputBoxTemplate");
|
||||
searchbox:SetSize(265, 35);
|
||||
searchbox:SetPoint("TOPLEFT", searchpanel, "TOPLEFT", 30, -55);
|
||||
searchbox:SetMaxLetters(100);
|
||||
searchbox:SetAutoFocus(false);
|
||||
searchbox:SetTextInsets(0, 8, 0, 0);
|
||||
searchbox.title = searchbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
searchbox.title:SetText("Name: ");
|
||||
searchbox.title:SetPoint("TOPLEFT", searchbox, "TOPLEFT", -3, 8);
|
||||
local searchbox = CreateFrame("EditBox", framename.."_SearchBox", searchpanel, "InputBoxTemplate")
|
||||
searchbox:SetSize(265, 35)
|
||||
searchbox:SetPoint("TOPLEFT", searchpanel, "TOPLEFT", 30, -55)
|
||||
searchbox:SetMaxLetters(100)
|
||||
searchbox:SetAutoFocus(false)
|
||||
searchbox:SetTextInsets(0, 8, 0, 0)
|
||||
searchbox.title = searchbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
searchbox.title:SetText("Name: ")
|
||||
searchbox.title:SetPoint("TOPLEFT", searchbox, "TOPLEFT", -3, 8)
|
||||
searchbox:SetScript("OnEnterPressed", function(self)
|
||||
AtlasLoot:AdvancedSearch(AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:GetText());
|
||||
self:ClearFocus();
|
||||
end);
|
||||
searchbox:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end);
|
||||
local searchbox_string = searchbox:CreateFontString(framename.."_SearchBoxString", "ARTWORK", "GameFontNormal");
|
||||
AtlasLoot:AdvancedSearch(AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:GetText())
|
||||
self:ClearFocus()
|
||||
end)
|
||||
searchbox:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end)
|
||||
local searchbox_string = searchbox:CreateFontString(framename.."_SearchBoxString", "ARTWORK", "GameFontNormal")
|
||||
|
||||
--Create quality button
|
||||
local qualitybtn = CreateFrame("Button", framename.."_QualityButton", searchpanel, "OptionsButtonTemplate");
|
||||
qualitybtn:SetSize(130, 20);
|
||||
qualitybtn:SetPoint("LEFT", searchbox, "RIGHT", 15, 0);
|
||||
qualitybtn.title = qualitybtn:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
qualitybtn.title:SetText("Quality: ");
|
||||
qualitybtn.title:SetPoint("TOPLEFT", qualitybtn, "TOPLEFT", 3, 15);
|
||||
local qualitybtn = CreateFrame("Button", framename.."_QualityButton", searchpanel, "OptionsButtonTemplate")
|
||||
qualitybtn:SetSize(130, 20)
|
||||
qualitybtn:SetPoint("LEFT", searchbox, "RIGHT", 15, 0)
|
||||
qualitybtn.title = qualitybtn:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
qualitybtn.title:SetText("Quality: ")
|
||||
qualitybtn.title:SetPoint("TOPLEFT", qualitybtn, "TOPLEFT", 3, 15)
|
||||
qualitybtn:SetScript("OnClick", function(self)
|
||||
if AtlasLoot_QualityMenu:IsOpen() then
|
||||
AtlasLoot_QualityMenu:Close();
|
||||
if AtlasLoot.Dewdrop:IsOpen() then
|
||||
AtlasLoot.Dewdrop:Close()
|
||||
else
|
||||
AtlasLoot_QualityMenu:Open(self);
|
||||
AtlasLoot.Dewdrop:Open(self)
|
||||
end
|
||||
end);
|
||||
qualitybtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end);
|
||||
end)
|
||||
qualitybtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end)
|
||||
|
||||
--Create equip type button
|
||||
local equipbtn = CreateFrame("Button", framename.."_EquipButton", searchpanel, "OptionsButtonTemplate");
|
||||
equipbtn:SetSize(130, 20);
|
||||
equipbtn:SetPoint("TOPLEFT", searchbox, "BOTTOMLEFT", -8, -25);
|
||||
equipbtn.title = equipbtn:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
equipbtn.title:SetText("Item Type: ");
|
||||
equipbtn.title:SetPoint("TOPLEFT", equipbtn, "TOPLEFT", 3, 15);
|
||||
local equipbtn = CreateFrame("Button", framename.."_EquipButton", searchpanel, "OptionsButtonTemplate")
|
||||
equipbtn:SetSize(130, 20)
|
||||
equipbtn:SetPoint("TOPLEFT", searchbox, "BOTTOMLEFT", -8, -25)
|
||||
equipbtn.title = equipbtn:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
equipbtn.title:SetText("Item Type: ")
|
||||
equipbtn.title:SetPoint("TOPLEFT", equipbtn, "TOPLEFT", 3, 15)
|
||||
|
||||
--Create equip sub type button
|
||||
equipbtn.subbtn = CreateFrame("Button", framename.."_EquipSubButton", equipbtn, "OptionsButtonTemplate");
|
||||
equipbtn.subbtn:SetSize(130, 20);
|
||||
equipbtn.subbtn:SetPoint("LEFT", equipbtn, "RIGHT", 15, 0);
|
||||
equipbtn.subbtn.title = equipbtn.subbtn:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
equipbtn.subbtn.title:SetText("Item Subtype: ");
|
||||
equipbtn.subbtn.title:SetPoint("TOPLEFT", equipbtn.subbtn, "TOPLEFT", 3, 15);
|
||||
equipbtn.subbtn = CreateFrame("Button", framename.."_EquipSubButton", equipbtn, "OptionsButtonTemplate")
|
||||
equipbtn.subbtn:SetSize(130, 20)
|
||||
equipbtn.subbtn:SetPoint("LEFT", equipbtn, "RIGHT", 15, 0)
|
||||
equipbtn.subbtn.title = equipbtn.subbtn:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
equipbtn.subbtn.title:SetText("Item Subtype: ")
|
||||
equipbtn.subbtn.title:SetPoint("TOPLEFT", equipbtn.subbtn, "TOPLEFT", 3, 15)
|
||||
|
||||
equipbtn:SetScript("OnClick", function(self)
|
||||
if AtlasLoot_EquipMenu:IsOpen() then
|
||||
AtlasLoot_EquipMenu:Close();
|
||||
if AtlasLoot.Dewdrop:IsOpen() then
|
||||
AtlasLoot.Dewdrop:Close()
|
||||
else
|
||||
AtlasLoot_EquipMenu:Open(self);
|
||||
AtlasLoot.Dewdrop:Open(self)
|
||||
end
|
||||
end);
|
||||
equipbtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end);
|
||||
end)
|
||||
equipbtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end)
|
||||
equipbtn.subbtn:SetScript("OnClick", function(self)
|
||||
if AtlasLoot_EquipSubMenu:IsOpen() then
|
||||
AtlasLoot_EquipSubMenu:Close();
|
||||
if AtlasLoot.Dewdrop:IsOpen() then
|
||||
AtlasLoot.Dewdrop:Close()
|
||||
else
|
||||
AtlasLoot_EquipSubMenu:Open(self);
|
||||
AtlasLoot.Dewdrop:Open(self)
|
||||
end
|
||||
end);
|
||||
equipbtn.subbtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end);
|
||||
end)
|
||||
equipbtn.subbtn:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end)
|
||||
|
||||
local levelminbox = CreateFrame("EditBox", framename.."_LevelMin", searchpanel, "InputBoxTemplate");
|
||||
levelminbox:SetSize(47, 35);
|
||||
levelminbox:SetPoint("TOPLEFT", searchbox, "BOTTOMLEFT", 0, -70);
|
||||
local lmnb = levelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
levelminbox:SetMaxLetters(3);
|
||||
levelminbox:SetAutoFocus(false);
|
||||
levelminbox:SetTextInsets(0, 8, 0, 0);
|
||||
levelminbox.title = levelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
levelminbox.title:SetText("Required Level: ");
|
||||
levelminbox.title:SetPoint("TOPLEFT", levelminbox, "TOPLEFT", -3, 8);
|
||||
local levelminbox = CreateFrame("EditBox", framename.."_LevelMin", searchpanel, "InputBoxTemplate")
|
||||
levelminbox:SetSize(47, 35)
|
||||
levelminbox:SetPoint("TOPLEFT", searchbox, "BOTTOMLEFT", 0, -70)
|
||||
local lmnb = levelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
levelminbox:SetMaxLetters(3)
|
||||
levelminbox:SetAutoFocus(false)
|
||||
levelminbox:SetTextInsets(0, 8, 0, 0)
|
||||
levelminbox.title = levelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
levelminbox.title:SetText("Required Level: ")
|
||||
levelminbox.title:SetPoint("TOPLEFT", levelminbox, "TOPLEFT", -3, 8)
|
||||
|
||||
local levelmaxbox = CreateFrame("EditBox", framename.."_LevelMax", searchpanel, "InputBoxTemplate");
|
||||
levelmaxbox:SetSize(47, 35);
|
||||
levelmaxbox:SetPoint("LEFT", levelminbox, "RIGHT", 25, 0);
|
||||
local lmxb = levelmaxbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
levelmaxbox:SetMaxLetters(3);
|
||||
levelmaxbox:SetAutoFocus(false);
|
||||
levelmaxbox:SetTextInsets(0, 8, 0, 0);
|
||||
local levelmaxbox = CreateFrame("EditBox", framename.."_LevelMax", searchpanel, "InputBoxTemplate")
|
||||
levelmaxbox:SetSize(47, 35)
|
||||
levelmaxbox:SetPoint("LEFT", levelminbox, "RIGHT", 25, 0)
|
||||
local lmxb = levelmaxbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
levelmaxbox:SetMaxLetters(3)
|
||||
levelmaxbox:SetAutoFocus(false)
|
||||
levelmaxbox:SetTextInsets(0, 8, 0, 0)
|
||||
|
||||
local ilevelminbox = CreateFrame("EditBox", framename.."_iLevelMin", searchpanel, "InputBoxTemplate");
|
||||
ilevelminbox:SetSize(47, 35);
|
||||
ilevelminbox:SetPoint("LEFT", levelmaxbox, "RIGHT", 25, 0);
|
||||
local ilmnb = ilevelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
ilevelminbox:SetMaxLetters(3);
|
||||
ilevelminbox:SetAutoFocus(false);
|
||||
ilevelminbox:SetTextInsets(0, 8, 0, 0);
|
||||
ilevelminbox.title = ilevelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
ilevelminbox.title:SetText("Item Level: ");
|
||||
ilevelminbox.title:SetPoint("TOPLEFT", ilevelminbox, "TOPLEFT", -3, 8);
|
||||
local ilevelminbox = CreateFrame("EditBox", framename.."_iLevelMin", searchpanel, "InputBoxTemplate")
|
||||
ilevelminbox:SetSize(47, 35)
|
||||
ilevelminbox:SetPoint("LEFT", levelmaxbox, "RIGHT", 25, 0)
|
||||
local ilmnb = ilevelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
ilevelminbox:SetMaxLetters(3)
|
||||
ilevelminbox:SetAutoFocus(false)
|
||||
ilevelminbox:SetTextInsets(0, 8, 0, 0)
|
||||
ilevelminbox.title = ilevelminbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
ilevelminbox.title:SetText("Item Level: ")
|
||||
ilevelminbox.title:SetPoint("TOPLEFT", ilevelminbox, "TOPLEFT", -3, 8)
|
||||
|
||||
local ilevelmaxbox = CreateFrame("EditBox", framename.."_iLevelMax", searchpanel, "InputBoxTemplate");
|
||||
ilevelmaxbox:SetSize(47, 35);
|
||||
ilevelmaxbox:SetPoint("LEFT", ilevelminbox, "RIGHT", 25, 0);
|
||||
local ilmxb = ilevelmaxbox:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
ilevelmaxbox:SetMaxLetters(3);
|
||||
ilevelmaxbox:SetAutoFocus(false);
|
||||
ilevelmaxbox:SetTextInsets(0, 8, 0, 0);
|
||||
local ilevelmaxbox = CreateFrame("EditBox", framename.."_iLevelMax", searchpanel, "InputBoxTemplate")
|
||||
ilevelmaxbox:SetSize(47, 35)
|
||||
ilevelmaxbox:SetPoint("LEFT", ilevelminbox, "RIGHT", 25, 0)
|
||||
local ilmxb = ilevelmaxbox:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
ilevelmaxbox:SetMaxLetters(3)
|
||||
ilevelmaxbox:SetAutoFocus(false)
|
||||
ilevelmaxbox:SetTextInsets(0, 8, 0, 0)
|
||||
|
||||
local useleveltick = CreateFrame("CheckButton", framename.."_LevelToggle", searchpanel, "ChatConfigCheckButtonTemplate");
|
||||
useleveltick:SetSize(20, 20);
|
||||
useleveltick:SetPoint("TOPRIGHT", levelmaxbox, "BOTTOMRIGHT", 0, 5);
|
||||
useleveltick.title = useleveltick:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
useleveltick.title:SetText("Use Current Lv: ");
|
||||
useleveltick.title:SetPoint("TOPLEFT", levelminbox, "BOTTOMLEFT", 0, 5);
|
||||
local useleveltick = CreateFrame("CheckButton", framename.."_LevelToggle", searchpanel, "ChatConfigCheckButtonTemplate")
|
||||
useleveltick:SetSize(20, 20)
|
||||
useleveltick:SetPoint("TOPRIGHT", levelmaxbox, "BOTTOMRIGHT", 0, 5)
|
||||
useleveltick.title = useleveltick:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
useleveltick.title:SetText("Use Current Lv: ")
|
||||
useleveltick.title:SetPoint("TOPLEFT", levelminbox, "BOTTOMLEFT", 0, 5)
|
||||
|
||||
useleveltick:SetScript("OnClick", function(self, button)
|
||||
if(self:GetChecked()) then levelmaxbox:Hide(); levelminbox:Hide();
|
||||
else levelmaxbox:Show(); levelminbox:Show();
|
||||
if(self:GetChecked()) then levelmaxbox:Hide() levelminbox:Hide()
|
||||
else levelmaxbox:Show() levelminbox:Show()
|
||||
end
|
||||
end)
|
||||
|
||||
local argpanel = CreateFrame("Frame", framename.."_ArgumentContainer", searchpanel);
|
||||
argpanel:SetSize(450, 340);
|
||||
argpanel:SetPoint("TOPLEFT", levelminbox, "BOTTOMLEFT", 0, -40);
|
||||
argpanel.title = argpanel:CreateFontString(nil, "ARTWORK", "GameFontNormal");
|
||||
argpanel.title:SetText("Additional Filters: ");
|
||||
argpanel.title:SetPoint("TOPLEFT", argpanel, "TOPLEFT", 0, 0);
|
||||
local argpanel = CreateFrame("Frame", framename.."_ArgumentContainer", searchpanel)
|
||||
argpanel:SetSize(450, 340)
|
||||
argpanel:SetPoint("TOPLEFT", levelminbox, "BOTTOMLEFT", 0, -40)
|
||||
argpanel.title = argpanel:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
||||
argpanel.title:SetText("Additional Filters: ")
|
||||
argpanel.title:SetPoint("TOPLEFT", argpanel, "TOPLEFT", 0, 0)
|
||||
|
||||
local addArg = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainerAddArgBtn", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate");
|
||||
addArg:SetPoint("TOP", useleveltick, "BOTTOM", 5, -20);
|
||||
addArg:SetSize(20, 20);
|
||||
addArg:SetText("+");
|
||||
local addArg = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainerAddArgBtn", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate")
|
||||
addArg:SetPoint("TOP", useleveltick, "BOTTOM", 5, -20)
|
||||
addArg:SetSize(20, 20)
|
||||
addArg:SetText("+")
|
||||
addArg:SetScript("OnClick", function(self, button)
|
||||
AtlasLoot_AddArgumentContainer();
|
||||
AtlasLoot:AddArgumentContainer()
|
||||
end)
|
||||
|
||||
local remArg = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainerRemArgBtn", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate")
|
||||
remArg:SetPoint("LEFT", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainerAddArgBtn, "RIGHT", 10, 0);
|
||||
remArg:SetSize(20, 20);
|
||||
remArg:SetText("-");
|
||||
remArg:SetPoint("LEFT", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainerAddArgBtn, "RIGHT", 10, 0)
|
||||
remArg:SetSize(20, 20)
|
||||
remArg:SetText("-")
|
||||
remArg:SetScript("OnClick", function(self, button)
|
||||
AtlasLoot_RemoveArgumentContainer();
|
||||
AtlasLoot:RemoveArgumentContainer()
|
||||
end)
|
||||
remArg:Disable();
|
||||
remArg:Disable()
|
||||
|
||||
for n = 1, MAX_ARGUMENTS do
|
||||
local btn = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n), AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate");
|
||||
btn:SetPoint("TOPLEFT", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "TOPLEFT", 0, -((n - 1) * 35)-20);
|
||||
btn:SetSize(130, 20);
|
||||
local btn = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n), AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate")
|
||||
btn:SetPoint("TOPLEFT", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "TOPLEFT", 0, -((n - 1) * 35)-20)
|
||||
btn:SetSize(130, 20)
|
||||
btn:SetScript("OnClick", function(self, button)
|
||||
if AtlasLoot_ArgumentMenus[n]:IsOpen() then
|
||||
AtlasLoot_ArgumentMenus[n]:Close();
|
||||
if AtlasLoot.SearchMenus.ArgumentMenus[n]:IsOpen() then
|
||||
AtlasLoot.SearchMenus.ArgumentMenus[n]:Close()
|
||||
else
|
||||
AtlasLoot_ArgumentMenus[n]:Open(self);
|
||||
AtlasLoot.SearchMenus.ArgumentMenus[n]:Open(self)
|
||||
end
|
||||
end)
|
||||
btn:Hide();
|
||||
btn:SetText("Select Option");
|
||||
btn:Hide()
|
||||
btn:SetText("Select Option")
|
||||
|
||||
local sub = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n) .. "Sub", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate");
|
||||
sub:SetPoint("LEFT", btn, "RIGHT", 15, 0);
|
||||
sub:SetSize(130, 20);
|
||||
local sub = CreateFrame("Button", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n) .. "Sub", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "OptionsButtonTemplate")
|
||||
sub:SetPoint("LEFT", btn, "RIGHT", 15, 0)
|
||||
sub:SetSize(130, 20)
|
||||
sub:SetScript("OnClick", function(self, button)
|
||||
if AtlasLoot_ArgumentSubMenus[n]:IsOpen() then
|
||||
AtlasLoot_ArgumentSubMenus[n]:Close();
|
||||
if AtlasLoot.SearchMenus.ArgumentSubMenus[n]:IsOpen() then
|
||||
AtlasLoot.SearchMenus.ArgumentSubMenus[n]:Close()
|
||||
else
|
||||
AtlasLoot_ArgumentSubMenus[n]:Open(self);
|
||||
AtlasLoot.SearchMenus.ArgumentSubMenus[n]:Open(self)
|
||||
end
|
||||
end)
|
||||
sub:Hide();
|
||||
sub:Disable();
|
||||
sub:Hide()
|
||||
sub:Disable()
|
||||
|
||||
local txt = CreateFrame("EditBox", "AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer" .. tostring(n) .. "Value", AtlasLootDefaultFrame_AdvancedSearchPanel_ArgumentContainer, "InputBoxTemplate")
|
||||
txt:SetPoint("LEFT", sub, "RIGHT", 15, 0);
|
||||
txt:SetSize(65, 35);
|
||||
txt:SetAutoFocus(false);
|
||||
txt:SetTextInsets(0, 8, 0, 0);
|
||||
txt:SetPoint("LEFT", sub, "RIGHT", 15, 0)
|
||||
txt:SetSize(65, 35)
|
||||
txt:SetAutoFocus(false)
|
||||
txt:SetTextInsets(0, 8, 0, 0)
|
||||
txt:SetScript("OnEnterPressed", function(self)
|
||||
self:ClearFocus();
|
||||
self:ClearFocus()
|
||||
end)
|
||||
txt:Hide();
|
||||
txt:Hide()
|
||||
end
|
||||
|
||||
--Search Button
|
||||
local searchbtn = CreateFrame("Button", framename.."_SearchButton", searchpanel, "UIPanelButtonTemplate2");
|
||||
searchbtn:SetSize(70,32);
|
||||
searchbtn:SetPoint("BOTTOMLEFT", searchpanel, "BOTTOMLEFT", 20, 20);
|
||||
local searchbtn = CreateFrame("Button", framename.."_SearchButton", searchpanel, "UIPanelButtonTemplate2")
|
||||
searchbtn:SetSize(70,32)
|
||||
searchbtn:SetPoint("BOTTOMLEFT", searchpanel, "BOTTOMLEFT", 20, 20)
|
||||
|
||||
searchbtn:SetScript("OnShow", function(self)
|
||||
self:SetText(AL["Search"]);
|
||||
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
|
||||
end);
|
||||
self:SetText(AL["Search"])
|
||||
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 )
|
||||
end)
|
||||
searchbtn:SetScript("OnClick", function()
|
||||
AtlasLoot:AdvancedSearch(AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:GetText());
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:ClearFocus();
|
||||
end);
|
||||
AtlasLoot:AdvancedSearch(AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:GetText())
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:ClearFocus()
|
||||
end)
|
||||
|
||||
local clearbtn = CreateFrame("Button", framename.."_ClearButton", searchpanel, "UIPanelButtonTemplate2");
|
||||
clearbtn:SetSize(70,32);
|
||||
clearbtn:SetPoint("LEFT", searchbtn, "RIGHT", 20, 0);
|
||||
local clearbtn = CreateFrame("Button", framename.."_ClearButton", searchpanel, "UIPanelButtonTemplate2")
|
||||
clearbtn:SetSize(70,32)
|
||||
clearbtn:SetPoint("LEFT", searchbtn, "RIGHT", 20, 0)
|
||||
|
||||
clearbtn:SetScript("OnShow", function(self)
|
||||
self:SetText(AL["Clear"]);
|
||||
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 );
|
||||
end);
|
||||
self:SetText(AL["Clear"])
|
||||
self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 )
|
||||
end)
|
||||
clearbtn:SetScript("OnClick", function()
|
||||
AtlasLoot_AdvancedSearchReset();
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:SetText("");
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:ClearFocus();
|
||||
end);
|
||||
AtlasLoot:AdvancedSearchReset()
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:SetText("")
|
||||
AtlasLootDefaultFrame_AdvancedSearchPanel_SearchBox:ClearFocus()
|
||||
end)
|
||||
|
||||
AtlasLoot_AdvancedSearchSetup();
|
||||
|
||||
--[[
|
||||
function StreamingIcon_UpdateIcon(status, tooltip)
|
||||
if(status > 0) then
|
||||
AtlasLoot_SearchProgressSpinner:SetVertexColor(0,1,0);
|
||||
AtlasLoot_SearchProgressFrameBackground:SetVertexColor(0,1,0);
|
||||
AtlasLoot_SearchProgress.tooltip = tooltip;
|
||||
AtlasLoot_SearchProgress.Loop:Play();
|
||||
AtlasLoot_SearchProgress:Show();
|
||||
else
|
||||
AtlasLoot_SearchProgress.Loop:Stop();
|
||||
AtlasLoot_SearchProgress:Hide();
|
||||
end
|
||||
end
|
||||
|
||||
local streamIcon = CreateFrame("Frame", "AtlasLoot_SearchProgress", AtlasLootDefaultFrame_LootBackground);
|
||||
streamIcon:SetPoint("TOPRIGHT", AtlasLootDefaultFrame_LootBackground, "TOPRIGHT");
|
||||
streamIcon:SetSize(48, 48);
|
||||
streamIcon.tooltip = "Searching...";
|
||||
streamIcon:EnableMouse(true);
|
||||
|
||||
streamIcon.icon = streamIcon:CreateTexture("$parentSpinner", "BACKGROUND");
|
||||
streamIcon.icon:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streamcircle");
|
||||
streamIcon.icon:SetVertexColor(0,1,0);
|
||||
streamIcon.icon:SetAllPoints();
|
||||
streamIcon.spark = streamIcon:CreateTexture("OVERLAY");
|
||||
streamIcon.spark:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streamspark");
|
||||
streamIcon.spark:SetAllPoints();
|
||||
|
||||
streamIcon.frame = CreateFrame("Frame", "$parentFrame", AtlasLoot_SearchProgress);
|
||||
streamIcon.frame:SetAllPoints();
|
||||
streamIcon.frame.bg = streamIcon.frame:CreateTexture("$parentBackground", "BACKGROUND");
|
||||
streamIcon.frame.bg:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streambackground");
|
||||
streamIcon.frame.bg:SetVertexColor(0,1,0);
|
||||
streamIcon.frame.bg:SetAllPoints();
|
||||
streamIcon.frame.alpha = streamIcon.frame:CreateTexture("$parentAlpha", "ARTWORK");
|
||||
streamIcon.frame.alpha:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streamframe");
|
||||
streamIcon.frame.alpha:SetAllPoints();
|
||||
|
||||
streamIcon.Loop = streamIcon:CreateAnimationGroup("$parentLoopAnim");
|
||||
streamIcon.Loop:SetLooping("REPEAT");
|
||||
local rotAnim = streamIcon.Loop:CreateAnimation("ROTATION");
|
||||
rotAnim:SetOrder(1);
|
||||
rotAnim:SetDuration(8);
|
||||
rotAnim:SetDegrees(-360);
|
||||
|
||||
streamIcon:SetScript("OnEnter",
|
||||
function(self)
|
||||
if(self.tooltip ~= nil) then
|
||||
GameTooltip:SetOwner(self, "ANCHOR_LEFT");
|
||||
GameTooltip:SetText(self.tooltip, nil, nil, nil, nil, true);
|
||||
end
|
||||
end);
|
||||
streamIcon:SetScript("OnLeave", GameTooltip_Hide);
|
||||
streamIcon:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end);
|
||||
|
||||
streamIcon:SetPoint("TOPRIGHT", AtlasLootDefaultFrame_LootBackground, "TOPRIGHT");
|
||||
streamIcon:Hide();]]
|
||||
AtlasLoot:AdvancedSearchSetup()
|
||||
@@ -1,142 +1,120 @@
|
||||
--[[
|
||||
Functions:
|
||||
AtlasLoot:OnShow()
|
||||
AtlasLoot:DewDropClick(tablename, text, tabletype, tabletype2)
|
||||
AtlasLoot:DewDropSubMenuClick(tablename)
|
||||
AtlasLoot:DewdropExpansionMenuClick(tablename, text)
|
||||
AtlasLoot_DefaultFrame_OnShow()
|
||||
AtlasLootDefaultFrame_OnHide()
|
||||
AtlasLoot:DewdropExpansionMenuOpen(loottable)
|
||||
AtlasLoot:DewdropExpansionMenuOpen()
|
||||
AtlasLoot:DewdropSubMenuOpen(loottable)
|
||||
AtlasLoot:DewdropOpen()
|
||||
AtlasLoot:SetNewStyle(style)
|
||||
AtlasLoot:DewdropModuleMenuOpen()
|
||||
AtlasLoot:SetSkin(skin)
|
||||
]]
|
||||
|
||||
--Include all needed libraries
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
|
||||
|
||||
--Load the 2 dewdrop menus
|
||||
AtlasLoot_Dewdrop = AceLibrary("Dewdrop-2.0");
|
||||
|
||||
ItemindexID = 2;
|
||||
local WHITE = "|cffFFFFFF"
|
||||
ItemindexID = 2
|
||||
|
||||
AtlasLoot_Data["AtlasLootFallback"] = {
|
||||
EmptyInstance = {};
|
||||
};
|
||||
EmptyInstance = {}
|
||||
}
|
||||
|
||||
--[[
|
||||
AtlasLootDefaultFrame_OnShow:
|
||||
AtlasLoot:OnShow():
|
||||
Called whenever the loot browser is shown and sets up buttons and loot tables
|
||||
]]
|
||||
function AtlasLootDefaultFrame_OnShow()
|
||||
function AtlasLoot:OnShow()
|
||||
--Definition of where I want the loot table to be shown
|
||||
--Remove the selection of a loot table in Atlas
|
||||
AtlasLootItemsFrame.activeBoss = nil;
|
||||
AtlasLootItemsFrame.activeBoss = nil
|
||||
--Set the item table to the loot table
|
||||
--Show the last displayed loot table
|
||||
local lastboss = AtlasLoot.db.profile.LastBoss[AtlasLoot_Expac];
|
||||
if AtlasLoot.db.profile.AutoCurrentInstance and AtlasLoot:ShowInstance() then
|
||||
return;
|
||||
local lastboss = self.db.profile.LastBoss[self.Expac]
|
||||
if self.db.profile.AutoCurrentInstance and self:ShowInstance() then
|
||||
return
|
||||
elseif lastboss and lastboss[4] then
|
||||
ATLASLOOT_CURRENTTABLE = lastboss[5];
|
||||
ATLASLOOT_LASTMODULE = lastboss[4];
|
||||
ATLASLOOT_MODUELNAME = lastboss[6];
|
||||
AtlasLoot:IsLootTableAvailable(lastboss[4]);
|
||||
AtlasLootDefaultFrame_Menu:SetText(ATLASLOOT_MODUELNAME);
|
||||
AtlasLoot:ShowItemsFrame(lastboss[1], "AtlasLoot_Data", lastboss[3]);
|
||||
self.currentTable = lastboss[5]
|
||||
self.lastModule = lastboss[4]
|
||||
self.moduleName = lastboss[6]
|
||||
self:IsLootTableAvailable(lastboss[4])
|
||||
AtlasLootDefaultFrame_Menu:SetText(self.moduleName)
|
||||
self:ShowItemsFrame(lastboss[1], "AtlasLoot_Data", lastboss[3])
|
||||
else
|
||||
AtlasLoot:ShowItemsFrame("EmptyTable", "AtlasLoot_Data", 1);
|
||||
self:ShowItemsFrame("EmptyTable", "AtlasLoot_Data", 1)
|
||||
end
|
||||
end
|
||||
|
||||
-- Show the Instance you are in
|
||||
function AtlasLoot:ShowInstance()
|
||||
for i, v in pairs(AtlasLoot_SubMenus) do
|
||||
for n, t in ipairs(v) do
|
||||
if t[4] == BabbleZone[GetRealZoneText()] then
|
||||
ATLASLOOT_CURRENTTABLE = v.SubMenu;
|
||||
ATLASLOOT_LASTMODULE = v.Module;
|
||||
AtlasLoot:IsLootTableAvailable(ATLASLOOT_LASTMODULE);
|
||||
AtlasLoot:ShowItemsFrame(t[2], "AtlasLoot_Data", 1);
|
||||
return true;
|
||||
for _, v in pairs(AtlasLoot_SubMenus) do
|
||||
for _, t in ipairs(v) do
|
||||
if t[4] == BabbleZone[GetRealZoneText()] or (t[5] and t[5] == BabbleZone[GetRealZoneText()]) then
|
||||
self.currentTable = v.SubMenu
|
||||
self.lastModule = v.Module
|
||||
self:IsLootTableAvailable(self.lastModule)
|
||||
self:ShowItemsFrame(t[2], "AtlasLoot_Data", 1)
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLootDefaultFrame_OnHide:
|
||||
When we close the loot browser, re-bind the item table to Atlas
|
||||
and close all Dewdrop menus
|
||||
]]
|
||||
function AtlasLootDefaultFrame_OnHide()
|
||||
AtlasLoot_Dewdrop:Close(1);
|
||||
-- Used to strip the expansion out of the dataID
|
||||
function AtlasLoot:CleandataID(newID, listnum)
|
||||
local cleanlist = { [1] = {"CLASSIC", "TBC", "WRATH"} }
|
||||
for i = 1, #cleanlist[listnum] do
|
||||
newID = gsub(newID, cleanlist[listnum][i], "")
|
||||
end
|
||||
return newID
|
||||
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
|
||||
Called when a button in AtlasLoot.Dewdrop is clicked
|
||||
]]
|
||||
function AtlasLoot:DewDropClick(tablename, text, tablenum)
|
||||
ATLASLOOT_FILTER_ENABLE = false;
|
||||
ATLASLOOT_BACKENABLED = false;
|
||||
ATLASLOOT_MODUELNAME = text;
|
||||
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);
|
||||
local lasttable = AtlasLoot.db.profile[ATLASLOOT_CURRENTTABLE];
|
||||
self.filterEnable = false
|
||||
self.backEnabled = false
|
||||
self.moduleName = text
|
||||
AtlasLootFilterCheck:SetChecked(false)
|
||||
tablename = tablename .. self.Expac
|
||||
self.currentTable = tablename
|
||||
tablenum = tablenum or 1
|
||||
self.lastModule = AtlasLoot_SubMenus[tablename].Module
|
||||
AtlasLootDefaultFrame_Menu:SetText(text)
|
||||
self:IsLootTableAvailable(AtlasLoot_SubMenus[tablename].Module)
|
||||
local lasttable = self.db.profile.savedState[self.currentTable]
|
||||
if lasttable then
|
||||
AtlasLoot:ShowItemsFrame(lasttable[1], lasttable[2], lasttable[3]);
|
||||
self:ShowItemsFrame(lasttable[1], lasttable[2], lasttable[3])
|
||||
else
|
||||
AtlasLoot:ShowItemsFrame(AtlasLoot_SubMenus[tablename][tablenum][2], "AtlasLoot_Data", tablenum);
|
||||
self:ShowItemsFrame(AtlasLoot_SubMenus[tablename][tablenum][2], "AtlasLoot_Data", tablenum)
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:DewDropSubMenuClick(tablename):
|
||||
tablename - Name of the loot table in the database
|
||||
Called when a button in AtlasLoot_DewdropSubMenu is clicked
|
||||
Called when a button in AtlasLoot.DewdropSubMenu is clicked
|
||||
]]
|
||||
function AtlasLoot:DewDropSubMenuClick(tablename)
|
||||
ATLASLOOT_BACKENABLED = false;
|
||||
--Show the select loot table
|
||||
local tablenum = AtlasLoot_Data[tablename].Loadfirst or 1;
|
||||
--Show the table that has been selected
|
||||
AtlasLoot:ShowItemsFrame(tablename, "AtlasLoot_Data", tablenum);
|
||||
end
|
||||
local WHITE = "|cffFFFFFF";
|
||||
function AtlasLoot:AddDividerLine(maxLenght)
|
||||
local text = WHITE.."----------------------------------------------------------------------------------------------------"
|
||||
AtlasLoot_Dewdrop:AddLine(
|
||||
'text' , text:sub(1, maxLenght),
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'isTitle', true,
|
||||
"notCheckable", true
|
||||
);
|
||||
function AtlasLoot:DewDropSubMenuClick(tablename, onDamand)
|
||||
local dataSource = "AtlasLoot_Data"
|
||||
self.backEnabled = false
|
||||
if onDamand then
|
||||
dataSource = "AtlasLoot_OnDemand"
|
||||
self:CreateOnDemandLootTable(onDamand)
|
||||
else
|
||||
--Show the select loot table
|
||||
local tablenum = _G[dataSource][tablename].Loadfirst or 1
|
||||
--Show the table that has been selected
|
||||
self:ShowItemsFrame(tablename, dataSource, tablenum)
|
||||
end
|
||||
end
|
||||
|
||||
function AtlasLoot:CloseDewDrop(divider, maxLenght)
|
||||
if divider then
|
||||
AtlasLoot:AddDividerLine(maxLenght)
|
||||
end
|
||||
AtlasLoot_Dewdrop:AddLine(
|
||||
'text', AL["Close Menu"],
|
||||
'textR', 0,
|
||||
'textG', 1,
|
||||
'textB', 1,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
|
||||
--[[
|
||||
AtlasLoot:DewdropExpansionMenuClick(expansion, name):
|
||||
@@ -145,19 +123,19 @@ name - label for the expansion
|
||||
Called when a button in DewdropExpansionMenuClick is clicked
|
||||
]]
|
||||
function AtlasLoot:DewdropExpansionMenuClick(expansion, name)
|
||||
ATLASLOOT_BACKENABLED = false;
|
||||
AtlasLootDefaultFrame_ExpansionMenu:SetText(name);
|
||||
AtlasLoot_Expac = expansion;
|
||||
if ATLASLOOT_CURRENTTABLE then
|
||||
ATLASLOOT_CURRENTTABLE = AtlasLoot:CleandataID(ATLASLOOT_CURRENTTABLE, 1) .. AtlasLoot_Expac;
|
||||
AtlasLoot:IsLootTableAvailable(AtlasLoot_SubMenus[ATLASLOOT_CURRENTTABLE].Module);
|
||||
local tablename = AtlasLoot_SubMenus[ATLASLOOT_CURRENTTABLE][1][2];
|
||||
local lasttable = AtlasLoot.db.profile[ATLASLOOT_CURRENTTABLE];
|
||||
self.backEnabled = false
|
||||
AtlasLootDefaultFrame_ExpansionMenu:SetText(name)
|
||||
self.Expac = expansion
|
||||
if self.currentTable then
|
||||
self.currentTable = self:CleandataID(self.currentTable, 1) .. self.Expac
|
||||
self:IsLootTableAvailable(AtlasLoot_SubMenus[self.currentTable].Module)
|
||||
local tablename = AtlasLoot_SubMenus[self.currentTable][1][2]
|
||||
local lasttable = self.db.profile.savedState[self.currentTable]
|
||||
if lasttable then
|
||||
AtlasLoot:ShowItemsFrame(lasttable[1], lasttable[2], lasttable[3]);
|
||||
self:ShowItemsFrame(lasttable[1], lasttable[2], lasttable[3])
|
||||
else
|
||||
local tablenum = AtlasLoot_Data[tablename].Loadfirst or 1;
|
||||
AtlasLoot:ShowItemsFrame(tablename, "AtlasLoot_Data", tablenum);
|
||||
local tablenum = AtlasLoot_Data[tablename].Loadfirst or 1
|
||||
self:ShowItemsFrame(tablename, "AtlasLoot_Data", tablenum)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -166,40 +144,21 @@ end
|
||||
AtlasLoot:DewdropExpansionMenuOpen():
|
||||
Adds expansion menu from expansion table in mainmenus.lua
|
||||
]]
|
||||
function AtlasLoot:DewdropExpansionMenuOpen()
|
||||
local frame = AtlasLootDefaultFrame_ExpansionMenu;
|
||||
if AtlasLoot_Dewdrop:IsOpen(frame) then AtlasLoot_Dewdrop:Close() return end
|
||||
AtlasLoot_Dewdrop:Register(frame,
|
||||
'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
end,
|
||||
'children', function(level, value)
|
||||
if AtlasLoot_ExpansionMenu then
|
||||
for k, v in ipairs(AtlasLoot_ExpansionMenu) do
|
||||
if type(v) == "table" then
|
||||
--If a link to show a expansion menu
|
||||
AtlasLoot_Dewdrop:AddLine(
|
||||
'text', v[1],
|
||||
'textR', 1,
|
||||
'textG', 0.82,
|
||||
'textB', 0,
|
||||
'func', function() AtlasLoot:DewdropExpansionMenuClick(v[2], v[1]) end,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
end
|
||||
local expansionMenuLoaded
|
||||
function AtlasLoot:DewdropExpansionMenuOpen(btn)
|
||||
local menuList = { [1] = {} }
|
||||
if not expansionMenuLoaded then
|
||||
if AtlasLoot_ExpansionMenu then
|
||||
for i,v in ipairs(AtlasLoot_ExpansionMenu) do
|
||||
if type(v) == "table" then
|
||||
tinsert(menuList[1], {text = v[1], func = function() self:DewdropExpansionMenuClick(v[2], v[1]) end, notCheckable = true, closeWhenClicked = true, textHeight = 12, textWidth = 12})
|
||||
end
|
||||
end
|
||||
--Close button
|
||||
AtlasLoot:CloseDewDrop(true,35)
|
||||
end,
|
||||
'dontHook', true
|
||||
)
|
||||
AtlasLoot_Dewdrop:Open(frame)
|
||||
tinsert(menuList[1], {close = true, divider = 35})
|
||||
end
|
||||
end
|
||||
expansionMenuLoaded = self:OpenDewdropMenu(btn, menuList, expansionMenuLoaded)
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:DewdropSubMenuOpen(loottable):
|
||||
loottable - Table defining the sub menu
|
||||
@@ -207,58 +166,96 @@ Generates the sub menu needed by passing a table of loot tables and titles
|
||||
]]
|
||||
function AtlasLoot:DewdropSubMenuOpen(loottable)
|
||||
local frame = AtlasLootDefaultFrame_SubMenu
|
||||
if AtlasLoot_Dewdrop:IsOpen(frame) then AtlasLoot_Dewdrop:Close() return end
|
||||
AtlasLoot_Dewdrop:Register(frame,
|
||||
if self.Dewdrop:IsOpen(frame) then self.Dewdrop:Close() return end
|
||||
self.Dewdrop:Register(frame,
|
||||
'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
end,
|
||||
'children', function(level, value)
|
||||
for k, v in pairs(loottable) do
|
||||
if type(v) == "table" then
|
||||
if v[3] == "Header" then
|
||||
if k ~= 1 then AtlasLoot:AddDividerLine(40) end
|
||||
AtlasLoot_Dewdrop:AddLine(
|
||||
'text', v[1],
|
||||
'textR', 0.2,
|
||||
'textG', 0.82,
|
||||
'textB', 0.5,
|
||||
'textHeight', 13,
|
||||
'textWidth', 13,
|
||||
'func', function(arg1) AtlasLoot:DewDropSubMenuClick(arg1) end,
|
||||
'arg1', v[2],
|
||||
'notCheckable', true
|
||||
)
|
||||
else
|
||||
AtlasLoot_Dewdrop:AddLine(
|
||||
'text', AtlasLoot_Data[v[2]].Name,
|
||||
'func', function(arg1) AtlasLoot:DewDropSubMenuClick(arg1) end,
|
||||
'arg1', v[2],
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
if level == 1 then
|
||||
for k, v in pairs(loottable) do
|
||||
if type(v) == "table" then
|
||||
if type(v[3]) == "table" then
|
||||
self.Dewdrop:AddLine(
|
||||
"text", v[1],
|
||||
"value", v[3],
|
||||
"hasArrow", true,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
"notCheckable", true
|
||||
)
|
||||
elseif v[3] == "Header" then
|
||||
if k ~= 1 then self:AddDividerLine(40) end
|
||||
self.Dewdrop:AddLine(
|
||||
'text', v[1],
|
||||
'textR', 0.2,
|
||||
'textG', 0.82,
|
||||
'textB', 0.5,
|
||||
'textHeight', 13,
|
||||
'textWidth', 13,
|
||||
'func', function() self:DewDropSubMenuClick(v[2]) end,
|
||||
'notCheckable', true
|
||||
)
|
||||
else
|
||||
self.Dewdrop:AddLine(
|
||||
'text', AtlasLoot_Data[v[2]] and AtlasLoot_Data[v[2]].Name or v[1],
|
||||
'func', function() self:DewDropSubMenuClick(v[2], v.OnDamand) end,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
'notCheckable', true
|
||||
)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
elseif level == 2 then
|
||||
if value then
|
||||
for k,v in pairs(value) do
|
||||
if v[3] == "Header" then
|
||||
if k ~= 1 then self:AddDividerLine(40) end
|
||||
self.Dewdrop:AddLine(
|
||||
'text', v[1],
|
||||
'textR', 0.2,
|
||||
'textG', 0.82,
|
||||
'textB', 0.5,
|
||||
'textHeight', 13,
|
||||
'textWidth', 13,
|
||||
'func', function() self:DewDropSubMenuClick(v[2], v.OnDamand) end,
|
||||
'notCheckable', true
|
||||
)
|
||||
elseif type(v) == "table" then
|
||||
self.Dewdrop:AddLine(
|
||||
"text", AtlasLoot_Data[v[2]] and AtlasLoot_Data[v[2]].Name or v[1],
|
||||
"func", function() self:DewDropSubMenuClick(v[2], v.OnDamand) end,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
"notCheckable", true
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--Close button
|
||||
AtlasLoot:CloseDewDrop(true,40)
|
||||
self:CloseDewDrop(true,40)
|
||||
end,
|
||||
'dontHook', true
|
||||
)
|
||||
AtlasLoot_Dewdrop:Open(frame)
|
||||
self.Dewdrop:Open(frame)
|
||||
end
|
||||
|
||||
--[[
|
||||
AtlasLoot:DewdropOpen:
|
||||
AtlasLoot:DewdropModuleMenuOpen:
|
||||
Constructs the main category menu from a tiered table
|
||||
]]
|
||||
function AtlasLoot:DewdropOpen()
|
||||
local moduleMenuLoaded
|
||||
function AtlasLoot:DewdropModuleMenuOpen()
|
||||
local frame = AtlasLootDefaultFrame_Menu
|
||||
if AtlasLoot_Dewdrop:IsOpen(frame) then AtlasLoot_Dewdrop:Close() return end
|
||||
local loaded
|
||||
if not loaded then
|
||||
AtlasLoot_Dewdrop:Register(frame,
|
||||
if self.Dewdrop:IsOpen(frame) then self.Dewdrop:Close() return end
|
||||
if not moduleMenuLoaded then
|
||||
self.Dewdrop:Register(frame,
|
||||
'point', function(parent)
|
||||
return "TOP", "BOTTOM"
|
||||
end,
|
||||
@@ -266,12 +263,12 @@ function AtlasLoot:DewdropOpen()
|
||||
if AtlasLoot_Modules then
|
||||
for k, v in ipairs(AtlasLoot_Modules) do
|
||||
--If a link to show a submenu
|
||||
AtlasLoot_Dewdrop:AddLine(
|
||||
self.Dewdrop:AddLine(
|
||||
'text', v[1],
|
||||
'textR', 1,
|
||||
'textG', 0.82,
|
||||
'textB', 0,
|
||||
'func', function() AtlasLoot:DewDropClick(v[2], v[1], v[3]) end,
|
||||
'func', function() self:DewDropClick(v[2], v[1], v[3]) end,
|
||||
'textHeight', 12,
|
||||
'textWidth', 12,
|
||||
'closeWhenClicked', true,
|
||||
@@ -280,127 +277,226 @@ function AtlasLoot:DewdropOpen()
|
||||
end
|
||||
end
|
||||
--Close button
|
||||
AtlasLoot:CloseDewDrop(true,35)
|
||||
self:CloseDewDrop(true,35)
|
||||
end,
|
||||
'dontHook', true
|
||||
)
|
||||
moduleMenuLoaded = true
|
||||
end
|
||||
AtlasLoot_Dewdrop:Open(frame)
|
||||
self.Dewdrop:Open(frame)
|
||||
end
|
||||
|
||||
AtlasLoot.CloseDefaults = {}
|
||||
local DF = AtlasLoot.CloseDefaults
|
||||
DF[1], DF[2], DF[3], DF[4], DF[5] = _G["AtlasLootDefaultFrameCloseButton"]:GetPoint()
|
||||
|
||||
AtlasLoot.TitleDefaults = {}
|
||||
local TDF = AtlasLoot.TitleDefaults
|
||||
TDF[1], TDF[2], TDF[3], TDF[4], TDF[5] = _G["AtlasLootDefaultFrame"].TitleText:GetPoint()
|
||||
|
||||
local buttons = {
|
||||
"AtlasLootDefaultFrame_Menu",
|
||||
"AtlasLootDefaultFrame_SubMenu",
|
||||
"AtlasLootDefaultFrame_ExpansionMenu",
|
||||
"AtlasLootDefaultFrame_Preset1",
|
||||
"AtlasLootDefaultFrame_Preset2",
|
||||
"AtlasLootDefaultFrame_Preset3",
|
||||
"AtlasLootDefaultFrame_Preset4",
|
||||
"AtlasLootDefaultFrameSearchButton",
|
||||
"AtlasLootDefaultFrameLastResultButton",
|
||||
"AtlasLootDefaultFrameWishListButton",
|
||||
"AtlasLootDefaultFrameAdvancedSearchButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_EquipButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_QualityButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_SearchButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_ClearButton",
|
||||
"AtlasLootDefaultFrame_MapButton",
|
||||
"AtlasLootDefaultFrame_LoadInstanceButton",
|
||||
"AtlasLoot_Favorites",
|
||||
}
|
||||
|
||||
AtlasLoot.skinKeys = {
|
||||
{"Modern", AL["Modern"]},
|
||||
{"OldAtlasLoot", AL["Old AtlasLoot"]},
|
||||
{"ElvUIDark", AL["ElvUI Dark"]},
|
||||
}
|
||||
|
||||
local skins = {
|
||||
Modern = {
|
||||
DefaultFrame = {
|
||||
bg = "Interface\\DialogFrame\\UI-DialogBox-Background",
|
||||
bgColor = {2,2,2,2},
|
||||
edge = "Interface\\Tooltips\\UI-Tooltip-Border",
|
||||
edgeColor = {1,1,1,1},
|
||||
tile = true,
|
||||
},
|
||||
Backdrop = {
|
||||
bg = "Interface\\DialogFrame\\UI-DialogBox-Background",
|
||||
bgColor = {2,2,2,2},
|
||||
edge = "Interface\\Tooltips\\UI-Tooltip-Border",
|
||||
edgeColor = {1,1,1,1},
|
||||
tile = true,
|
||||
},
|
||||
btTex = "Interface\\Buttons\\UI-Silver-Button-Up",
|
||||
insets = {1,1,1,1},
|
||||
showFrame = true,
|
||||
searchP = {0,-0.5},
|
||||
searchH = 24,
|
||||
edgeSize = 16,
|
||||
closebtn = {0,0},
|
||||
title = {0,0},
|
||||
},
|
||||
|
||||
OldAtlasLoot = {
|
||||
DefaultFrame = {
|
||||
bg = "Interface/AchievementFrame/UI-Achievement-AchievementBackground",
|
||||
bgColor = {1, 1, 1, 0.5},
|
||||
edge = "Interface/Tooltips/UI-Tooltip-Border",
|
||||
edgeColor = {1, 0.675, 0.125, 1},
|
||||
tile = false,
|
||||
},
|
||||
Backdrop = {
|
||||
bg = "Interface/AchievementFrame/UI-Achievement-StatsBackground",
|
||||
bgColor = {0, 0, 0, .7},
|
||||
edge = nil,
|
||||
edgeColor = {nil,nil,nil,nil},
|
||||
tile = false,
|
||||
},
|
||||
btTex = "Interface/AchievementFrame/UI-Achievement-Category-Background",
|
||||
insets = {4,4,4,4},
|
||||
showFrame = false,
|
||||
searchP = {2,0},
|
||||
searchH = 23,
|
||||
edgeSize = 8,
|
||||
closebtn = {-5,-5},
|
||||
title = {0,-5},
|
||||
},
|
||||
|
||||
ElvUIDark = {
|
||||
DefaultFrame = {
|
||||
bg = "Interface\\DialogFrame\\UI-DialogBox-Background",
|
||||
bgColor = {2,2,2,2},
|
||||
edge = "Interface\\Tooltips\\UI-Tooltip-Border",
|
||||
edgeColor = {0,0,0,5},
|
||||
tile = true,
|
||||
},
|
||||
Backdrop = {
|
||||
bg = "Interface\\DialogFrame\\UI-DialogBox-Background",
|
||||
bgColor = {2,2,2,2},
|
||||
edge = "Interface\\Tooltips\\UI-Tooltip-Border",
|
||||
edgeColor = {0,0,0,5},
|
||||
tile = true,
|
||||
},
|
||||
btTex = {0,0,0,.6},
|
||||
insets = {1,1,1,1},
|
||||
showFrame = false,
|
||||
searchP = {2,0},
|
||||
searchH = 25,
|
||||
edgeSize = 8,
|
||||
closebtn = {-5,-5},
|
||||
title = {0,0},
|
||||
},
|
||||
}
|
||||
|
||||
local backDropFrames = {
|
||||
"AtlasLoot_FavoritesPopupFrame",
|
||||
"AtlaslLoot_LootBackground",
|
||||
"Atlasloot_Difficulty_ScrollFrame",
|
||||
"Atlasloot_SubTableFrame",
|
||||
"AtlasLoot_PopupFrame",
|
||||
}
|
||||
|
||||
--[[
|
||||
AtlasLoot:SetNewStyle:
|
||||
Create the new Default Frame style
|
||||
style = "new"
|
||||
style = "old"
|
||||
AtlasLoot:SetSkin()
|
||||
Changes the skin
|
||||
]]
|
||||
function AtlasLoot:SetNewStyle(style)
|
||||
function AtlasLoot:SetSkin(skin)
|
||||
skin = skins[skin]
|
||||
for _, frame in pairs(backDropFrames) do
|
||||
_G[frame]:SetBackdrop({
|
||||
bgFile = skin.Backdrop.bg, tile = skin.Backdrop.tile, tileSize = 16,
|
||||
edgeFile = skin.Backdrop.edge, edgeSize = skin.edgeSize,
|
||||
insets = { left = skin.insets[1], right = skin.insets[2], top = skin.insets[3], bottom = skin.insets[4] },
|
||||
})
|
||||
_G[frame]:SetBackdropColor(skin.Backdrop.bgColor[1], skin.Backdrop.bgColor[2], skin.Backdrop.bgColor[3], skin.Backdrop.bgColor[4])
|
||||
_G[frame]:SetBackdropBorderColor(skin.Backdrop.edgeColor[1], skin.Backdrop.edgeColor[2], skin.Backdrop.edgeColor[3], skin.Backdrop.edgeColor[4])
|
||||
end
|
||||
|
||||
local buttons = {
|
||||
"AtlasLootDefaultFrame_Options",
|
||||
"AtlasLootDefaultFrame_LoadModules",
|
||||
"AtlasLootDefaultFrame_Menu",
|
||||
"AtlasLootDefaultFrame_SubMenu",
|
||||
"AtlasLootDefaultFrame_ExpansionMenu",
|
||||
"AtlasLootDefaultFrame_Preset1",
|
||||
"AtlasLootDefaultFrame_Preset2",
|
||||
"AtlasLootDefaultFrame_Preset3",
|
||||
"AtlasLootDefaultFrame_Preset4",
|
||||
"AtlasLootDefaultFrameSearchButton",
|
||||
"AtlasLootDefaultFrameSearchClearButton",
|
||||
"AtlasLootDefaultFrameLastResultButton",
|
||||
"AtlasLootDefaultFrameWishListButton",
|
||||
"AtlasLootDefaultFrameAdvancedSearchButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_EquipButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_EquipSubButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_QualityButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_SearchButton",
|
||||
"AtlasLootDefaultFrame_AdvancedSearchPanel_ClearButton",
|
||||
"AtlasLootDefaultFrame_MapButton",
|
||||
"AtlasLootDefaultFrame_MapSelectButton",
|
||||
"AtlasLootDefaultFrame_LoadInstanceButton",
|
||||
"AtlasLootDefaultFrame_LoadInstanceDBButton",
|
||||
}
|
||||
local DF = self.CloseDefaults
|
||||
_G["AtlasLootDefaultFrameCloseButton"]:SetPoint(DF[1], DF[2], DF[3], DF[4]+skin.closebtn[1], DF[5]+skin.closebtn[2])
|
||||
|
||||
if style == "new" then
|
||||
AtlasLootDefaultFrame_LootBackground:SetBackdrop({ bgFile = "Interface/AchievementFrame/UI-Achievement-StatsBackground" });
|
||||
AtlasLootDefaultFrame_LootBackground:SetBackdropColor(1, 1, 1, 0.5);
|
||||
local TDF = self.TitleDefaults
|
||||
_G["AtlasLootDefaultFrame"].TitleText:SetPoint(TDF[1], TDF[2], TDF[3], TDF[4]+skin.title[1], TDF[5]+skin.title[2])
|
||||
|
||||
AtlasLootDefaultFrame:SetBackdrop({ bgFile = "Interface/AchievementFrame/UI-Achievement-AchievementBackground",
|
||||
edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
|
||||
edgeSize = 16,
|
||||
insets = { left = 4, right = 4, top = 4, bottom = 4 } });
|
||||
AtlasLootDefaultFrame:SetBackdropColor(1, 1, 1, 0.5)
|
||||
AtlasLootDefaultFrame:SetBackdropBorderColor(1, 0.675, 0.125, 1)
|
||||
AtlasLootDefaultFrameHeader:SetTexture("Interface\\AchievementFrame\\UI-Achievement-Alert-Background.blp")
|
||||
AtlasLootDefaultFrameHeader:SetTexCoord(0, 0.605, 0, 0.703)
|
||||
AtlasLootDefaultFrameHeader:SetWidth(299)
|
||||
AtlasLootDefaultFrameHeader:SetHeight(60)
|
||||
AtlasLootDefaultFrameHeader:SetPoint("TOP", AtlasLootDefaultFrame, "TOP", -3, 22)
|
||||
if type(skin.btTex) == "table" then
|
||||
local color = skin.btTex
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Left:SetTexture(color[1],color[2],color[3],color[4])
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Right:SetTexture(color[1],color[2],color[3],color[4])
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Middle:SetTexture(color[1],color[2],color[3],color[4])
|
||||
else
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Left:SetTexture("")
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Right:SetTexture("")
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Middle:SetTexture("")
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Left:SetAtlas("common-search-border-left")
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Right:SetAtlas("common-search-border-right")
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Middle:SetAtlas("common-search-border-middle")
|
||||
end
|
||||
|
||||
AtlasLootDefaultFrame_Options:SetNormalTexture("Interface/AchievementFrame/UI-Achievement-Category-Background")
|
||||
AtlasLootDefaultFrame_Options:SetHeight(24)
|
||||
AtlasLootDefaultFrame_Options:SetPushedTexture("Interface/AchievementFrame/UI-Achievement-Category-Background")
|
||||
AtlasLootDefaultFrame_Options:SetHeight(24)
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Left:SetHeight(skin.searchH)
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Right:SetHeight(skin.searchH)
|
||||
_G["AtlasLootDefaultFrameSearchBox"].Middle:SetHeight(skin.searchH)
|
||||
_G["AtlasLootDefaultFrameSearchButton"]:ClearAllPoints()
|
||||
_G["AtlasLootDefaultFrameSearchButton"]:SetPoint("LEFT","AtlasLootDefaultFrameSearchBox","RIGHT",skin.searchP[1],skin.searchP[2])
|
||||
|
||||
local frame = {"RightEdge","LeftEdge","BottomEdge","TopEdge","BottomRightCorner","BottomLeftCorner","TopRightCorner","TopLeftCorner"}
|
||||
if skin.showFrame then
|
||||
for _, frame in ipairs(frame) do
|
||||
_G["AtlasLootDefaultFrameNineSlice"][frame]:Show()
|
||||
end
|
||||
_G["AtlasLootDefaultFramePortrait"]:Show()
|
||||
_G["AtlasLootDefaultFrameBg"]:Show()
|
||||
_G["AtlasLootDefaultFrame"].TitleBg:Show()
|
||||
_G["AtlasLootDefaultFrameTopTileStreaks"]:Show()
|
||||
_G["AtlasLootDefaultFrame"]:SetBackdrop(nil)
|
||||
else
|
||||
for _, frame in ipairs(frame) do
|
||||
_G["AtlasLootDefaultFrameNineSlice"][frame]:Hide()
|
||||
end
|
||||
_G["AtlasLootDefaultFramePortrait"]:Hide()
|
||||
_G["AtlasLootDefaultFrameBg"]:Hide()
|
||||
_G["AtlasLootDefaultFrame"].TitleBg:Hide()
|
||||
_G["AtlasLootDefaultFrameTopTileStreaks"]:Hide()
|
||||
_G["AtlasLootDefaultFrame"]:SetBackdrop({
|
||||
bgFile = skin.DefaultFrame.bg, tile = skin.DefaultFrame.tile, tileSize = 16,
|
||||
edgeFile = skin.DefaultFrame.edge, edgeSize = skin.edgeSize,
|
||||
insets = { left = skin.insets[1], right = skin.insets[2], top = skin.insets[3], bottom = skin.insets[4] },
|
||||
})
|
||||
_G["AtlasLootDefaultFrame"]:SetBackdropColor(skin.DefaultFrame.bgColor[1], skin.DefaultFrame.bgColor[2], skin.DefaultFrame.bgColor[3], skin.DefaultFrame.bgColor[4])
|
||||
_G["AtlasLootDefaultFrame"]:SetBackdropBorderColor(skin.DefaultFrame.edgeColor[1], skin.DefaultFrame.edgeColor[2], skin.DefaultFrame.edgeColor[3], skin.DefaultFrame.edgeColor[4])
|
||||
end
|
||||
|
||||
local function SetButtons(path)
|
||||
_G[path]:SetNormalTexture("Interface/AchievementFrame/UI-Achievement-Category-Background")
|
||||
_G[path]:SetHeight(24)
|
||||
_G[path]:SetPushedTexture("Interface/AchievementFrame/UI-Achievement-Category-Background")
|
||||
_G[path]:SetHeight(24)
|
||||
local tex = _G[path]:GetNormalTexture();
|
||||
tex:SetTexCoord(0, 0.6640625, 0, 0.8);
|
||||
tex:SetHeight(32)
|
||||
|
||||
local tex2 = _G[path]:GetPushedTexture();
|
||||
tex2:SetTexCoord(0, 0.6640625, 0, 0.8);
|
||||
tex2:SetHeight(32)
|
||||
if _G[path].template and _G[path].template == "FilterDropDownMenuTemplate" then
|
||||
local tex, tex2, tex3, tex4
|
||||
if type(skin.btTex) == "table" then
|
||||
tex, tex2, tex3, tex4 = unpack(skin.btTex)
|
||||
else
|
||||
tex = skin.btTex
|
||||
end
|
||||
_G[path.."TopLeft"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."TopRight"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."BottomLeft"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."BottomRight"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."TopMiddle"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."MiddleLeft"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."MiddleRight"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."BottomMiddle"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
_G[path.."MiddleMiddle"]:SetTexture(tex, tex2, tex3, tex4)
|
||||
end
|
||||
end
|
||||
|
||||
for _, v in pairs(buttons) do
|
||||
SetButtons(v)
|
||||
end
|
||||
elseif style == "old" then
|
||||
|
||||
AtlasLootDefaultFrame_LootBackground:SetBackdrop({ bgFile = "" });
|
||||
AtlasLootDefaultFrame_LootBackground:SetBackdropColor(0, 0, 0.5, 0.5);
|
||||
|
||||
AtlasLootDefaultFrame:SetBackdrop({ bgFile = "Interface/DialogFrame/UI-DialogBox-Background",
|
||||
edgeFile = "Interface/DialogFrame/UI-DialogBox-Border",
|
||||
edgeSize = 32,
|
||||
insets = { left = 11, right = 12, top = 12, bottom = 11 } });
|
||||
AtlasLootDefaultFrame:SetBackdropColor(1, 1, 1, 1)
|
||||
AtlasLootDefaultFrame:SetBackdropBorderColor(1, 1, 1, 1)
|
||||
|
||||
|
||||
AtlasLootDefaultFrameHeader:SetTexture("Interface/DialogFrame/UI-DialogBox-Header")
|
||||
AtlasLootDefaultFrameHeader:SetTexCoord(0, 1, 0, 1)
|
||||
AtlasLootDefaultFrameHeader:SetWidth(425)
|
||||
AtlasLootDefaultFrameHeader:SetHeight(64)
|
||||
AtlasLootDefaultFrameHeader:SetPoint("TOP", AtlasLootDefaultFrame, "TOP", 0, 12)
|
||||
|
||||
AtlasLootDefaultFrame_Options:SetNormalTexture("Interface/Buttons/UI-Panel-Button-Up")
|
||||
AtlasLootDefaultFrame_Options:SetHeight(20)
|
||||
AtlasLootDefaultFrame_Options:SetPushedTexture("Interface/Buttons/UI-Panel-Button-Down")
|
||||
AtlasLootDefaultFrame_Options:SetHeight(20)
|
||||
|
||||
local function SetButtons(path)
|
||||
_G[path]:SetNormalTexture("Interface/Buttons/UI-Panel-Button-Up")
|
||||
_G[path]:SetHeight(20)
|
||||
_G[path]:SetPushedTexture("Interface/Buttons/UI-Panel-Button-Down")
|
||||
_G[path]:SetHeight(20)
|
||||
local tex = _G[path]:GetNormalTexture();
|
||||
tex:SetTexCoord(0, 0.625, 0, 0.6875);
|
||||
tex:SetHeight(20)
|
||||
|
||||
local tex2 = _G[path]:GetPushedTexture();
|
||||
tex2:SetTexCoord(0, 0.625, 0, 0.6875);
|
||||
tex2:SetHeight(20)
|
||||
end
|
||||
|
||||
for _, v in pairs(buttons) do
|
||||
SetButtons(v)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -44,17 +44,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "请选择……";
|
||||
AL["Unknown"] = "未知";
|
||||
AL["Add to QuickLooks:"] = "添加到快捷浏览";
|
||||
AL["Assign this loot table\n to QuickLook"] = "分配此物品表\n至快捷浏览";
|
||||
AL["Assign this loot table\n to Favorite"] = "分配此物品表\n至快捷浏览";
|
||||
AL["Query Server"] = "查询物品";
|
||||
AL["Reset Frames"] = "重置框体";
|
||||
AL["Reset Wishlist"] = "重置需求表";
|
||||
AL["Reset Quicklooks"] = "重置快速访问";
|
||||
AL["Reset Favorites"] = "重置快速访问";
|
||||
AL["Select a Loot Table..."] = "选择掉落表";
|
||||
AL["OR"] = "或";
|
||||
AL["FuBar Options"] = "FuBar选项";
|
||||
AL["Attach to Minimap"] = "附着在小地图";
|
||||
AL["Hide FuBar Plugin"] = "隐藏FuBar插件";
|
||||
AL["Show FuBar Plugin"] = "显示FuBar插件";
|
||||
AL["Position:"] = "位置:";
|
||||
AL["Left"] = "左";
|
||||
AL["Center"] = "中";
|
||||
@@ -99,7 +96,7 @@ if AL then
|
||||
AL["Treat Crafted Items:"] = "交易技能呈现方式:";
|
||||
AL["As Crafting Spells"] = "技能";
|
||||
AL["As Items"] = "制成品";
|
||||
AL["Loot Browser Style:"] = "物品掉落表呈现方式:";
|
||||
AL["Change AtlasLoot Skin:"] = "物品掉落表呈现方式:";
|
||||
AL["New Style"] = "新样式";
|
||||
AL["Classic Style"] = "传统样式";
|
||||
|
||||
@@ -115,7 +112,7 @@ if AL then
|
||||
AL["Load Modules"] = "载入所有数据";
|
||||
AL["Options"] = "设置";
|
||||
AL["PvP Rewards"] = "PvP奖励";
|
||||
AL["QuickLook"] = "快捷浏览";
|
||||
AL["Favorite"] = "快捷浏览";
|
||||
AL["World Events"] = "世界事件";
|
||||
|
||||
--AtlasLoot Panel - Search
|
||||
@@ -1426,7 +1423,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "AtlasLoot帮助";
|
||||
AL["For further help, see our website and forums: "] = "要获得更多的帮助,请访问我们的网站和论坛:";
|
||||
AL["How to open the standalone Loot Browser:"] = "单独打开掉落浏览器的方法:";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "如果你启用了AtlasLootFu,点击小地图按钮,或者由类似Titan或者FuBar的插件生成的按钮。再或者你可以在聊天框里输入“/al”";
|
||||
AL["How to view an 'unsafe' item:"] = "查看“不安全”的物品的方法:";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "带红框的物品为“不安全物品”,意为自从上次打补丁或者服务器重启以来你没在游戏内见过该物品。你可以通过右击该物品或者点击页面下方的“向服务器查询”按钮来向服务器请求查询。";
|
||||
AL["How to view an item in the Dressing Room:"] = "在试衣间查看物品的方法:";
|
||||
|
||||
@@ -31,17 +31,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "Verzeichnis wählen ...";
|
||||
AL["Unknown"] = "Unbekannt";
|
||||
AL["Add to QuickLooks:"] = "Lesezeichen hinzufügen";
|
||||
AL["Assign this loot table\n to QuickLook"] = "Dieses Beuteverzeichnis dem\n Lesezeichen hinzufügen";
|
||||
AL["Assign this loot table\n to Favorite"] = "Dieses Beuteverzeichnis dem\n Lesezeichen hinzufügen";
|
||||
AL["Query Server"] = "Serverabfrage";
|
||||
AL["Reset Frames"] = "Fenster zurücksetzen";
|
||||
AL["Reset Wishlist"] = "Wunschzettel zurücksetzen";
|
||||
AL["Reset Quicklooks"] = "Lesezeichen zurücksetzen";
|
||||
AL["Reset Favorites"] = "Lesezeichen zurücksetzen";
|
||||
AL["Select a Loot Table..."] = "Wähle ein Beuteverzeichnis ...";
|
||||
AL["OR"] = "ODER";
|
||||
AL["FuBar Options"] = "FuBar-Optionen";
|
||||
AL["Attach to Minimap"] = "An der Minimap anbringen";
|
||||
AL["Hide FuBar Plugin"] = "FuBar Plugin verstecken";
|
||||
AL["Show FuBar Plugin"] = "FuBar Plugin anzeigen";
|
||||
-- AL["Position:"] = "Position:";
|
||||
AL["Left"] = "Links";
|
||||
AL["Center"] = "Mitte";
|
||||
@@ -86,7 +83,7 @@ if AL then
|
||||
AL["Treat Crafted Items:"] = "Herstellbare Gegenstände behandeln";
|
||||
AL["As Crafting Spells"] = "als Zauber";
|
||||
AL["As Items"] = "als Gegenstände";
|
||||
AL["Loot Browser Style:"] = "AtlasLoot Design:";
|
||||
AL["Change AtlasLoot Skin:"] = "AtlasLoot Design:";
|
||||
AL["New Style"] = "Modernes Design";
|
||||
AL["Classic Style"] = "Klassisches Design";
|
||||
|
||||
@@ -102,7 +99,7 @@ if AL then
|
||||
AL["Load Modules"] = "Module laden";
|
||||
AL["Options"] = "Optionen";
|
||||
AL["PvP Rewards"] = "PvP Belohnungen";
|
||||
AL["QuickLook"] = "Lesezeichen";
|
||||
AL["Favorite"] = "Lesezeichen";
|
||||
AL["World Events"] = "Weltevents";
|
||||
|
||||
-- AtlasLoot Panel - Search
|
||||
@@ -1413,7 +1410,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "AtlasLoot Hilfe";
|
||||
AL["For further help, see our website and forums: "] = "Bitte besuchen Sie für weitere Hilfe die Webseite und das Forum: ";
|
||||
AL["How to open the standalone Loot Browser:"] = "Eigenständigen Beute-Browser öffnen";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "Sollte AtlasLootFu aktiviert sein, klicken Sie einfach den Minimap Button oder den Button in einem installierten Mod wie Titan oder FuBar. Andernfalls können Sie auch einfach '/al' im Chatfenster eingeben.";
|
||||
AL["How to view an 'unsafe' item:"] = "'Unsicheren' Gegenstand ansehen:";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "Die Symbole unsicherer Gegenstände sind rot umrandet und gekennzeichnet, da sie seit dem letzten Patch oder Serverneustart nicht gesehen wurden. Rechtsklicken Sie den Gegenstand und bewegen dann die Maus wieder über selbigen oder nutzen Sie den 'Serverabfrage' Button am unteren Ende der Beute-Seite.";
|
||||
AL["How to view an item in the Dressing Room:"] = "Einen Gegenstand in der Anprobe anzeigen";
|
||||
|
||||
+2812
-2738
File diff suppressed because it is too large
Load Diff
@@ -41,17 +41,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "Elige una tabla...";
|
||||
AL["Unknown"] = "Desconocido";
|
||||
AL["Add to QuickLooks:"] = "Añade a VistaRápida";
|
||||
AL["Assign this loot table\n to QuickLook"] = "Asignar esta tabla\n a VistaRapida";
|
||||
AL["Assign this loot table\n to Favorite"] = "Asignar esta tabla\n a VistaRapida";
|
||||
AL["Query Server"] = "Pregun. Servidor";
|
||||
AL["Reset Frames"] = "Restaurar marcos";
|
||||
AL["Reset Wishlist"] = "Res. ListaDeseada";
|
||||
AL["Reset Quicklooks"] = "Res. BotínRápido";
|
||||
AL["Reset Favorites"] = "Res. BotínRápido";
|
||||
AL["Select a Loot Table..."] = "Elige una tabla de Botín...";
|
||||
AL["OR"] = "O";
|
||||
AL["FuBar Options"] = "Opciones FuBar";
|
||||
AL["Attach to Minimap"] = "Sujetar al minimapa";
|
||||
AL["Hide FuBar Plugin"] = "Esconder FuBar Plugin";
|
||||
AL["Show FuBar Plugin"] = "Mostrar FuBar Plugin";
|
||||
AL["Position:"] = "Posición:";
|
||||
AL["Left"] = "Izquierda";
|
||||
AL["Center"] = "Centro";
|
||||
@@ -96,7 +93,7 @@ if AL then
|
||||
AL["Treat Crafted Items:"] = "Tratar objetos creados";
|
||||
AL["As Crafting Spells"] = "Como hechizos creados";
|
||||
AL["As Items"] = "Como objetos";
|
||||
AL["Loot Browser Style:"] = "Estilo del buscador:";
|
||||
AL["Change AtlasLoot Skin:"] = "Estilo del buscador:";
|
||||
AL["New Style"] = "Estilo nuevo";
|
||||
AL["Classic Style"] = "Estilo clásico";
|
||||
|
||||
@@ -112,7 +109,7 @@ if AL then
|
||||
AL["Load Modules"] = "Cargar módulos";
|
||||
AL["Options"] = "Opciones";
|
||||
AL["PvP Rewards"] = "Recompensas JcJ";
|
||||
AL["QuickLook"] = "VistaRapida"
|
||||
AL["Favorite"] = "VistaRapida"
|
||||
AL["World Events"] = "Eventos mundo";
|
||||
|
||||
-- AtlasLoot Panel - Search
|
||||
@@ -1346,7 +1343,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "Ayuda Atlasloot";
|
||||
AL["For further help, see our website and forums: "] = "Para mas ayuda consulta nuestra web y foros: ";
|
||||
AL["How to open the standalone Loot Browser:"] = "Como abrir el buscador de objetos estandar:";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "Si tienes AtlasLootFu activado, haz click en el botón del minimapa, o alternativamente en algún botón generado por otro addon como Titan o FuBar. Finalmente, puedes escribir '/al' en la ventana del chat.";
|
||||
AL["How to view an 'unsafe' item:"] = "Como ver un objeto 'no seguro':";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "Los objetos no seguros tienen un borde rojo alrededor de su icono y son marcados porque no has visto dicho objeto en el juego desde el último parche o reinicio de servidor. Haz click-dcho en el objeto y después mueve el cursor por encima del icono o haz click en 'pregunta al servidor' en el pie de la ventana de botín.";
|
||||
AL["How to view an item in the Dressing Room:"] = "Como ver un objeto en la ventana del provador:";
|
||||
|
||||
@@ -43,17 +43,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "Choisissez une liste...";
|
||||
AL["Unknown"] = "Inconnu";
|
||||
AL["Add to QuickLooks:"] = "Ajouter à QuickLook :";
|
||||
AL["Assign this loot table\n to QuickLook"] = "Assigner cette table de loot\n à QuickLook";
|
||||
AL["Assign this loot table\n to Favorite"] = "Assigner cette table de loot\n à QuickLook";
|
||||
AL["Query Server"] = "Interroger le serveur";
|
||||
AL["Reset Frames"] = "Réinitialiser les frames";
|
||||
AL["Reset Wishlist"] = "Réinitialiser la liste de souhaits";
|
||||
AL["Reset Quicklooks"] = "Réinitialiser Quicklooks";
|
||||
AL["Reset Favorites"] = "Réinitialiser Quicklooks";
|
||||
AL["Select a Loot Table..."] = "Sélectionner une table de loot...";
|
||||
AL["OR"] = "OU";
|
||||
AL["FuBar Options"] = "Options de FuBar";
|
||||
AL["Attach to Minimap"] = "Joindre à la mini-carte";
|
||||
AL["Hide FuBar Plugin"] = "Cacher le plugin FuBar";
|
||||
AL["Show FuBar Plugin"] = "Afficher le plugin FuBar";
|
||||
AL["Position:"] = "Position :";
|
||||
AL["Left"] = "Gauche";
|
||||
AL["Center"] = "Centre";
|
||||
@@ -98,7 +95,7 @@ if AL then
|
||||
AL["Treat Crafted Items:"] = "Traiter les objets fabriqués :";
|
||||
AL["As Crafting Spells"] = "comme des sorts";
|
||||
AL["As Items"] = "comme des objets";
|
||||
AL["Loot Browser Style:"] = "Style du navigateur de loot :";
|
||||
AL["Change AtlasLoot Skin:"] = "Style du navigateur de loot :";
|
||||
AL["New Style"] = "Nouveau style";
|
||||
AL["Classic Style"] = "Style classique";
|
||||
|
||||
@@ -114,7 +111,7 @@ if AL then
|
||||
AL["Load Modules"] = "Charger les modules";
|
||||
--AL["Options"] = true;
|
||||
AL["PvP Rewards"] = "Récompenses JcJ";
|
||||
--AL["QuickLook"] = true;
|
||||
--AL["Favorite"] = true;
|
||||
--AL["World Events"] = true;
|
||||
|
||||
-- AtlasLoot Panel - Search
|
||||
@@ -1413,7 +1410,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "Aide AtlasLoot";
|
||||
AL["For further help, see our website and forums: "] = "Pour de l'aide complémentaire, visitez notre site web et nos forums : ";
|
||||
AL["How to open the standalone Loot Browser:"] = "Comment ouvrir le navigateur de butin indépendamment :";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "Si AtlasLootFu est présent et installé, cliquez sur le bouton de la mini-carte ou alors sur le bouton généré par des addons tels que Titan ou Fubar. Vous pouvez également taper la commande '/al' dans la saisie de la fenêtre de discussion.";
|
||||
AL["How to view an 'unsafe' item:"] = "Comment voir un objet 'peu sûr' :";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "Les objets peu sûrs ont une bordure rouge autour d'une icône d'un point d'interrogation car vous n'avez pas vu l'objet depuis le dernier patch ou le dernier redémarrage du serveur. Faites un Clic-Droit sur l'objet, puis survolez à nouveau l'objet avec votre souris, ou cliquez sur le bouton 'Requête serveur' en bas de la page du butin.";
|
||||
AL["How to view an item in the Dressing Room:"] = "Comment voir un objet dans la cabine d'essayage :";
|
||||
|
||||
@@ -10,9 +10,6 @@ The AL["text"] = true; shortcut can ONLY be used for English (the root translati
|
||||
-- Last Updated: 6/28/2007
|
||||
-- missing some BabbleBoss names.
|
||||
|
||||
--Table holding all loot tables is initialised here as it loads early
|
||||
--AtlasLoot_Data = {};
|
||||
|
||||
--Create the library instance
|
||||
local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
|
||||
|
||||
@@ -46,17 +43,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "테이블 선택 ...";
|
||||
-- AL["Unknown"] = true;
|
||||
-- AL["Add to QuickLooks:"] = true;
|
||||
-- AL["Assign this loot table\n to QuickLook"] = true;
|
||||
-- AL["Assign this loot table\n to Favorite"] = true;
|
||||
-- AL["Query Server"] = true;
|
||||
-- AL["Reset Frames"] = true;
|
||||
-- AL["Reset Wishlist"] = true;
|
||||
-- AL["Reset Quicklooks"] = true;
|
||||
-- AL["Reset Favorites"] = true;
|
||||
-- AL["Select a Loot Table..."] = true;
|
||||
-- AL["OR"] = true;
|
||||
-- AL["FuBar Options"] = true;
|
||||
--- AL["Attach to Minimap"] = true;
|
||||
-- AL["Hide FuBar Plugin"] = true;
|
||||
-- AL["Show FuBar Plugin"] = true;
|
||||
-- AL["Position:"] = true;
|
||||
-- AL["Left"] = true;
|
||||
-- AL["Center"] = true;
|
||||
@@ -101,7 +95,7 @@ if AL then
|
||||
-- AL["Treat Crafted Items:"] = true;
|
||||
-- AL["As Crafting Spells"] = true;
|
||||
-- AL["As Items"] = true;
|
||||
-- AL["Loot Browser Style:"] = true;
|
||||
-- AL["Change AtlasLoot Skin:"] = true;
|
||||
-- AL["New Style"] = true;
|
||||
-- AL["Classic Style"] = true;
|
||||
|
||||
@@ -117,7 +111,7 @@ if AL then
|
||||
-- AL["Load Modules"] = true;
|
||||
AL["Options"] = "설정";
|
||||
AL["PvP Rewards"] = "PvP 보상";
|
||||
-- AL["QuickLook"] = true;
|
||||
-- AL["Favorite"] = true;
|
||||
-- AL["World Events"] = true;
|
||||
|
||||
-- AtlasLoot Panel - Search
|
||||
@@ -1272,7 +1266,6 @@ if AL then
|
||||
-- AL["AtlasLoot Help"] = true;
|
||||
-- AL["For further help, see our website and forums: "] = true;
|
||||
-- AL["How to open the standalone Loot Browser:"] = true;
|
||||
-- AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = true;
|
||||
-- AL["How to view an 'unsafe' item:"] = true;
|
||||
-- AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = true;
|
||||
-- AL["How to view an item in the Dressing Room:"] = true;
|
||||
|
||||
@@ -54,7 +54,7 @@ if AL then
|
||||
AL["Close Menu"] = "Cerrar menú";
|
||||
AL["Unknown"] = "Desconocido";
|
||||
AL["Skill Required:"] = "Habilidad necesaria";
|
||||
AL["QuickLook"] = "VistaRápida";
|
||||
AL["Favorite"] = "VistaRápida";
|
||||
AL["Add to QuickLooks:"] = "Añade a VistaRápida";
|
||||
AL["Rating:"] = "Indice:"; --Shorthand for 'Required Rating' for the personal/team ratings in Arena S4
|
||||
AL["Query Server"] = "Pregun. Servidor";
|
||||
@@ -69,14 +69,11 @@ if AL then
|
||||
AL["WotLK Factions"] = "Facciones WotLK";
|
||||
AL["Reset Frames"] = "Restaurar marcos";
|
||||
AL["Reset Wishlist"] = "Res. ListaDeseada";
|
||||
AL["Reset Quicklooks"] = "Res. BotínRápido";
|
||||
AL["Reset Favorites"] = "Res. BotínRápido";
|
||||
AL["Select a Loot Table..."] = "Elige una tabla de Botín...";
|
||||
AL["OR"] = "O";
|
||||
--AL["Wrath of the Lich King"] = true,
|
||||
AL["FuBar Options"] = "Opciones FuBar";
|
||||
AL["Attach to Minimap"] = "Sujetar al minimapa";
|
||||
AL["Hide FuBar Plugin"] = "Esconder FuBar Plugin";
|
||||
AL["Show FuBar Plugin"] = "Mostrar FuBar Plugin";
|
||||
AL["Position:"] = "Posición:";
|
||||
AL["Left"] = "Izquierda";
|
||||
AL["Center"] = "Centro";
|
||||
@@ -1223,7 +1220,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "Ayuda Atlasloot";
|
||||
AL["For further help, see our website and forums: "] = "Para mas ayuda consulta nuestra web y foros: ";
|
||||
AL["How to open the standalone Loot Browser:"] = "Como abrir el buscador de botín estandar:";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "Si tienes AtlasLootFu activado, haz click en el botón del minimapa, o alternativamente en algún botón generado por otro addon como Titan o FuBar. Finalmente, puedes escribir '/al' en la ventana del chat.";
|
||||
AL["How to view an 'unsafe' item:"] = "Como ver un objeto 'no seguro':";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "Los objetos no seguros tienen un borde rojo alrededor de su icono y son marcados porque no has visto dicho objeto en el juego desde el último parche o reinicio de servidor. Haz click-dcho en el objeto y después mueve el cursor por encima del icono o haz click en 'pregunta al servidor' en el pie de la ventana de botín.";
|
||||
AL["How to view an item in the Dressing Room:"] = "Como ver un objeto en la ventana del provador:";
|
||||
|
||||
@@ -7,8 +7,6 @@ back to the English translation.
|
||||
The AL["text"] = true; shortcut can ONLY be used for English (the root translation).
|
||||
]]
|
||||
|
||||
--Table holding all loot tables is initialised here as it loads early
|
||||
AtlasLoot_Data = {};
|
||||
|
||||
--Create the library instance
|
||||
local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
|
||||
@@ -43,17 +41,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "Выбор таблицы";
|
||||
AL["Unknown"] = "Неизвестно";
|
||||
AL["Add to QuickLooks:"] = "В БыстрыйОсмотр:";
|
||||
AL["Assign this loot table\n to QuickLook"] = "Определить эту таблицу в\n в БыстрыйОсмотр";
|
||||
AL["Assign this loot table\n to Favorite"] = "Определить эту таблицу в\n в БыстрыйОсмотр";
|
||||
AL["Query Server"] = "Запрос с серв.";
|
||||
AL["Reset Frames"] = "Сброс фреймов";
|
||||
AL["Reset Wishlist"] = "Сброс списка нужного";
|
||||
AL["Reset Quicklooks"] = "Сборс БО";
|
||||
AL["Reset Favorites"] = "Сборс БО";
|
||||
AL["Select a Loot Table..."] = "Выберите таблицу добычи";
|
||||
AL["OR"] = "или";
|
||||
AL["FuBar Options"] = "Опции FuBarа";
|
||||
AL["Attach to Minimap"] = "Закрепить у мини-карты";
|
||||
AL["Hide FuBar Plugin"] = "Скрыть плагин FuBarа";
|
||||
AL["Show FuBar Plugin"] = "Показ плагин FuBarа";
|
||||
AL["Position:"] = "Позицыя";
|
||||
AL["Left"] = "Слево";
|
||||
AL["Center"] = "По центру";
|
||||
@@ -98,7 +93,7 @@ if AL then
|
||||
AL["Treat Crafted Items:"] = "Обзор изготов. предметов:";
|
||||
AL["As Crafting Spells"] = "Как используемое заклинание";
|
||||
AL["As Items"] = "Как предмет";
|
||||
AL["Loot Browser Style:"] = "Стиль просмотра добычи:";
|
||||
AL["Change AtlasLoot Skin:"] = "Стиль просмотра добычи:";
|
||||
AL["New Style"] = "Новый стиль";
|
||||
AL["Classic Style"] = "Класический стиль";
|
||||
|
||||
@@ -114,7 +109,7 @@ if AL then
|
||||
AL["Load Modules"] = "Загр. модулей";
|
||||
AL["Options"] = "Опции";
|
||||
AL["PvP Rewards"] = "PvP награды";
|
||||
AL["QuickLook"] = "БыстрыйОсмотр";
|
||||
AL["Favorite"] = "БыстрыйОсмотр";
|
||||
AL["World Events"] = "Мировые события";
|
||||
|
||||
-- AtlasLoot Panel - Search
|
||||
@@ -1425,7 +1420,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "Справка AtlasLoot";
|
||||
AL["For further help, see our website and forums: "] = "Для получения дополнительной справки, см. наш сайт и форумы: ";
|
||||
AL["How to open the standalone Loot Browser:"] = "Как открыть отдельный обозреватель добычи:";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "Если у вас есть AtlasLootFu и он включен, нажмите на кнопку у мини карты, или же используйте панели типа Titan или FuBar. В конце концов, вы можете набрать в чат '/ Al'.";
|
||||
AL["How to view an 'unsafe' item:"] = "Как просмотреть 'небезопасный' предмет:";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "Небезопасные предметы выделены красной рамкой вокруг значка, потому что вы не видели этот предмет после последнего патча или перезагрузки сервера. Щелкните правой кнопкой мыши по предмету, а затем нажмите кнопку 'Запрос с серв.', расположенную в нижней части страницы добычи.";
|
||||
AL["How to view an item in the Dressing Room:"] = "Как просмотреть предмет в Примерочной";
|
||||
|
||||
@@ -8,9 +8,6 @@ back to the English translation.
|
||||
The AL["text"] = true; shortcut can ONLY be used for English (the root translation).
|
||||
]]
|
||||
|
||||
--Table holding all loot tables is initialised here as it loads early
|
||||
--AtlasLoot_Data = {};
|
||||
|
||||
--Create the library instance
|
||||
local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
|
||||
|
||||
@@ -44,17 +41,14 @@ if AL then
|
||||
AL["Choose Table ..."] = "選擇表格...";
|
||||
AL["Unknown"] = "未知";
|
||||
AL["Add to QuickLooks:"] = "新增至快速瀏覽";
|
||||
AL["Assign this loot table\n to QuickLook"] = "分配此物品表\n 至快速瀏覽";
|
||||
AL["Assign this loot table\n to Favorite"] = "分配此物品表\n 至快速瀏覽";
|
||||
AL["Query Server"] = "向伺服器查詢";
|
||||
AL["Reset Frames"] = "重設框架";
|
||||
AL["Reset Wishlist"] = "重設願望清單";
|
||||
AL["Reset Quicklooks"] = "重設快速瀏覽";
|
||||
AL["Reset Favorites"] = "重設快速瀏覽";
|
||||
AL["Select a Loot Table..."] = "選擇一個物品表";
|
||||
AL["OR"] = "或";
|
||||
AL["FuBar Options"] = "FuBar 選項";
|
||||
AL["Attach to Minimap"] = "依附於小地圖上";
|
||||
AL["Hide FuBar Plugin"] = "隱藏 FuBar 插件";
|
||||
AL["Show FuBar Plugin"] = "顯示 FuBar 插件";
|
||||
AL["Position:"] = "位置";
|
||||
AL["Left"] = "左";
|
||||
AL["Center"] = "中";
|
||||
@@ -99,7 +93,7 @@ if AL then
|
||||
AL["Treat Crafted Items:"] = "交易技能呈現方式:";
|
||||
AL["As Crafting Spells"] = "技能";
|
||||
AL["As Items"] = "製成品";
|
||||
AL["Loot Browser Style:"] = "物品掉落表呈現方式:";
|
||||
AL["Change AtlasLoot Skin:"] = "物品掉落表呈現方式:";
|
||||
AL["New Style"] = "新樣式";
|
||||
AL["Classic Style"] = "傳統樣式";
|
||||
|
||||
@@ -115,7 +109,7 @@ if AL then
|
||||
AL["Load Modules"] = "載入模組";
|
||||
AL["Options"] = "選項";
|
||||
AL["PvP Rewards"] = "PvP 榮譽獎勵";
|
||||
AL["QuickLook"] = "快速瀏覽";
|
||||
AL["Favorite"] = "快速瀏覽";
|
||||
AL["World Events"] = "世界事件";
|
||||
|
||||
--AtlasLoot Panel - Search
|
||||
@@ -1426,7 +1420,6 @@ if AL then
|
||||
AL["AtlasLoot Help"] = "AtlasLoot 說明";
|
||||
AL["For further help, see our website and forums: "] = "進階說明請參閱網站及論壇: \n";
|
||||
AL["How to open the standalone Loot Browser:"] = "如何開啟獨立的物品掉落檢視器: ";
|
||||
AL["If you have AtlasLootFu enabled, click the minimap button, or alternatively a button generated by a mod like Titan or FuBar. Finally, you can type '/al' in the chat window."] = "點選小地圖旁的 AtlasLoot / Titan / FuBar 按鈕。或在聊天視窗輸入 '/al' 以開啟物品掉落檢視器。";
|
||||
AL["How to view an 'unsafe' item:"] = "如何檢視不安全物品: ";
|
||||
AL["Unsafe items have a red border around the icon and are marked because you have not seen the item since the last patch or server restart. Right-click the item, then move your mouse back over the item or click the 'Query Server' button at the bottom of the loot page."] = "不安全的物品其圖示周圍有紅色外筐,用以標示從上次的重大更新或伺服器重新啟動後你尚未檢視過的物品。在物品圖示右鍵點擊,然後將滑鼠移開,再重新移回圖示上方,或是按下 '從伺服器查詢' 按鈕。";
|
||||
AL["How to view an item in the Dressing Room:"] = "如何在試衣間檢視物品: ";
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
AtlasLoot_SubMenus["CollectionsAscensionCLASSIC"] = {
|
||||
{ "", "Convenience" },
|
||||
{ "", "Mounts" },
|
||||
{ "", "Pets" },
|
||||
{ "", "Toys" },
|
||||
{ "", "Seasonal" },
|
||||
{ "", "Consumable" },
|
||||
{ "", "Uncategorized" },
|
||||
{ "Weapons", "", {
|
||||
{ "", "Axe1H" },
|
||||
{ "", "Axe2H" },
|
||||
{ "", "Sword1H" },
|
||||
{ "", "Sword2H" },
|
||||
{ "", "Mace1H" },
|
||||
{ "", "Mace2H" },
|
||||
{ "", "Dagger" },
|
||||
{ "", "Fist" },
|
||||
{ "", "Shield" },
|
||||
{ "", "Polearm" },
|
||||
{ "", "Bow" },
|
||||
{ "", "Gun" },
|
||||
{ "", "Crossbow" },
|
||||
{ "", "Thrown" },
|
||||
{ "", "Wand" },
|
||||
{ "", "Staff" },
|
||||
{ "", "FishingPole" },
|
||||
{ "", "OffHand" },
|
||||
} },
|
||||
|
||||
{ "Armor", "", {
|
||||
{ "", "Head" },
|
||||
{ "", "Shoulder" },
|
||||
{ "", "Chest" },
|
||||
{ "", "Waist" },
|
||||
{ "", "Legs" },
|
||||
{ "", "Feet" },
|
||||
{ "", "Wrist" },
|
||||
{ "", "Hands" },
|
||||
{ "", "Back" },
|
||||
{ "", "Cloth" },
|
||||
{ "", "Leather" },
|
||||
{ "", "Mail" },
|
||||
{ "", "Plate" },
|
||||
{ "", "Sets" },
|
||||
} },
|
||||
|
||||
{ "Miscellaneous", "", {
|
||||
{ "", "Shirt" },
|
||||
{ "", "Tabard" },
|
||||
{ "", "Backpack" },
|
||||
{ "", "Illusion" },
|
||||
} },
|
||||
|
||||
{ "Spells", "", {
|
||||
{ "", "Visual" },
|
||||
{ "", "Effect" },
|
||||
{ "", "Incarnation" },
|
||||
} },
|
||||
|
||||
{ "TamedPets", "", {
|
||||
{ "", "Whistle" },
|
||||
{ "", "SummonStone" },
|
||||
{ "", "Vellum" },
|
||||
{ "", "Warhorn" },
|
||||
{ "", "Lodestone" },
|
||||
} },
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["CollectionsAscensionTBC"] = AtlasLoot_SubMenus["CollectionsAscensionCLASSIC"]
|
||||
AtlasLoot_SubMenus["CollectionsAscensionWRATH"] = AtlasLoot_SubMenus["CollectionsAscensionCLASSIC"]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,71 +1,43 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
AtlasLoot_SubMenus["CraftingCLASSIC"] = {
|
||||
Module = "AtlasLootCrafting";
|
||||
{"Normal:", "", "Header"};
|
||||
{ "", "AlchemyCLASSIC"};
|
||||
{ "", "SmithingCLASSIC"};
|
||||
{ "", "EnchantingCLASSIC"};
|
||||
{ "", "EngineeringCLASSIC"};
|
||||
{ "", "LeatherworkingCLASSIC"};
|
||||
{ "", "TailoringCLASSIC"};
|
||||
{ "", "MiningCLASSIC"};
|
||||
{ "", "CookingCLASSIC"};
|
||||
{ "", "FirstAidCLASSIC"};
|
||||
{"High Risk:", "", "Header"};
|
||||
{ "", "AlchemyHighRiskCLASSIC"};
|
||||
{ "", "SmithingHighRiskCLASSIC"};
|
||||
{ "", "EnchantingHighRiskCLASSIC"};
|
||||
{ "", "EngineeringHighRiskCLASSIC"};
|
||||
{ "", "LeatherworkingHighRiskCLASSIC"};
|
||||
{ "", "TailoringHighRiskCLASSIC"};
|
||||
{ "", "CookingHighRiskCLASSIC"};
|
||||
Module = "AtlasLootCraftingOriginalWoW",
|
||||
{ "", "AlchemyCLASSIC"},
|
||||
{ "", "SmithingCLASSIC"},
|
||||
{ "", "EnchantingCLASSIC"},
|
||||
{ "", "EngineeringCLASSIC"},
|
||||
{ "", "LeatherworkingCLASSIC"},
|
||||
{ "", "TailoringCLASSIC"},
|
||||
{ "", "MiningCLASSIC"},
|
||||
{ "", "CookingCLASSIC"},
|
||||
{ "", "FirstAidCLASSIC"},
|
||||
};
|
||||
|
||||
AtlasLoot_SubMenus["CraftingTBC"] = {
|
||||
Module = "AtlasLootCrafting";
|
||||
{"Normal:", "", "Header"};
|
||||
{ "", "AlchemyTBC"};
|
||||
{ "", "SmithingTBC"};
|
||||
{ "", "EnchantingTBC"};
|
||||
{ "", "EngineeringTBC"};
|
||||
{ "", "JewelcraftingTBC"};
|
||||
{ "", "LeatherworkingTBC"};
|
||||
{ "", "TailoringTBC"};
|
||||
{ "", "MiningTBC"};
|
||||
{ "", "CookingTBC"};
|
||||
{ "", "FirstAidTBC"};
|
||||
{"High Risk:", "", "Header"};
|
||||
{ "", "AlchemyHighRiskTBC"};
|
||||
{ "", "SmithingHighRiskTBC"};
|
||||
{ "", "EnchantingHighRiskTBC"};
|
||||
{ "", "EngineeringHighRiskTBC"};
|
||||
{ "", "JewelcraftingHighRiskTBC"};
|
||||
{ "", "LeatherworkingHighRiskTBC"};
|
||||
{ "", "TailoringHighRiskTBC"};
|
||||
{ "", "CookingHighRiskTBC"};
|
||||
Module = "AtlasLootCraftingBurningCrusade",
|
||||
{ "", "AlchemyTBC"},
|
||||
{ "", "SmithingTBC"},
|
||||
{ "", "EnchantingTBC"},
|
||||
{ "", "EngineeringTBC"},
|
||||
{ "", "JewelcraftingTBC"},
|
||||
{ "", "LeatherworkingTBC"},
|
||||
{ "", "TailoringTBC"},
|
||||
{ "", "MiningTBC"},
|
||||
{ "", "CookingTBC"},
|
||||
{ "", "FirstAidTBC"},
|
||||
};
|
||||
|
||||
AtlasLoot_SubMenus["CraftingWRATH"] = {
|
||||
Module = "AtlasLootCrafting";
|
||||
{"Normal:", "", "Header"};
|
||||
{ "", "AlchemyWRATH"};
|
||||
{ "", "SmithingWRATH"};
|
||||
{ "", "EnchantingWRATH"};
|
||||
{ "", "EngineeringWRATH"};
|
||||
{ "", "JewelcraftingWRATH"};
|
||||
{ "", "LeatherworkingWRATH"};
|
||||
{ "", "TailoringWRATH"};
|
||||
{ "", "Inscription"};
|
||||
{ "", "MiningWRATH"};
|
||||
{ "", "CookingWRATH"};
|
||||
{ "", "FirstAidWRATH"};
|
||||
{"High Risk:", "", "Header"};
|
||||
--[[ { "", "AlchemyHighRiskWRATH"};
|
||||
{ "", "SmithingHighRiskWRATH"};
|
||||
{ "", "EnchantingHighRiskWRATH"};
|
||||
{ "", "EngineeringHighRiskWRATH"};
|
||||
{ "", "JewelcraftingHighRiskWRATH"};
|
||||
{ "", "LeatherworkingHighRiskWRATH"};
|
||||
{ "", "TailoringHighRiskWRATH"}; ]]
|
||||
Module = "AtlasLootCraftingWotLK",
|
||||
{ "", "AlchemyWRATH"},
|
||||
{ "", "SmithingWRATH"},
|
||||
{ "", "EnchantingWRATH"},
|
||||
{ "", "EngineeringWRATH"},
|
||||
{ "", "JewelcraftingWRATH"},
|
||||
{ "", "LeatherworkingWRATH"},
|
||||
{ "", "TailoringWRATH"},
|
||||
{ "", "Inscription"},
|
||||
{ "", "MiningWRATH"},
|
||||
{ "", "CookingWRATH"},
|
||||
{ "", "FirstAidWRATH"},
|
||||
};
|
||||
|
||||
@@ -1,109 +1,109 @@
|
||||
--Invoke all libraries
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
--Dungeon and Raid Menus
|
||||
AtlasLoot_SubMenus["Dungeons and RaidsCLASSIC"] = {
|
||||
Module = "AtlasLootOriginalWoW";
|
||||
SubMenu = "Dungeons and RaidsCLASSIC";
|
||||
{ "Raids:", "OldKeys", "Header" };
|
||||
{ "", "ZulGurub", "", "Zul'Gurub" };
|
||||
{ "", "MoltenCore", "", "Molten Core" };
|
||||
{ "", "Onyxia60", "", "Onyxias Hort" };
|
||||
{ "", "BlackwingLair", "", "Blackwing Lair" };
|
||||
{ "", "RuinsofAQ", "", "Ruinen von Ahn'Qiraj" };
|
||||
{ "", "TempleofAQ", "", "Tempel von Ahn'Qiraj" };
|
||||
{ "", "Naxxramas60", "", "Naxxramas" };
|
||||
{ "", "WorldBossesCLASSIC","", "World Bosses" };
|
||||
Module = "AtlasLootOriginalWoW",
|
||||
SubMenu = "Dungeons and RaidsCLASSIC",
|
||||
{ "Raids:", "OldKeys", "Header" },
|
||||
{ "", "ZulGurub", "", "Zul'Gurub" },
|
||||
{ "", "MoltenCore", "", "Molten Core" },
|
||||
{ "", "Onyxia60", "", "Onyxias Hort" },
|
||||
{ "", "BlackwingLair", "", "Blackwing Lair" },
|
||||
{ "", "RuinsofAQ", "", "Ruinen von Ahn'Qiraj" },
|
||||
{ "", "TempleofAQ", "", "Tempel von Ahn'Qiraj" },
|
||||
{ "", "Naxxramas60", "", "Naxxramas" },
|
||||
{ "", "WorldBossesCLASSIC","", "World Bosses" },
|
||||
---- Dungeons -----
|
||||
{ "Dungeons:", "OldKeys", "Header" };
|
||||
{ "", "BlackfathomDeeps", "", "Blackfathom Deeps" };
|
||||
{ "", "BlackrockDepths", "", "Blackrock Depths" };
|
||||
{ "", "LowerBlackrock", "", "Lower Blackrock Spire" };
|
||||
{ "", "UpperBlackrock", "", "Upper Blackrock Spire" };
|
||||
{ "", "TheDeadmines", "", "The Deadmines" };
|
||||
{ "", "DireMaulNorth", "", "Dire Maul (North)" };
|
||||
{ "", "DireMaulEast", "", "Dire Maul (East)" };
|
||||
{ "", "DireMaulWest", "", "Dire Maul (West)" };
|
||||
{ "", "Gnomeregan", "", "Gnomeregan" };
|
||||
{ "", "Maraudon", "", "Maraudon" };
|
||||
{ "", "RagefireChasm", "", "Ragefire Chasm" };
|
||||
{ "", "RazorfenDowns", "", "Razorfen Downs" };
|
||||
{ "", "RazorfenKraul", "", "Razorfen Kraul" };
|
||||
{ "", "Scarlet Monastery", "", "Scarlet Monastery" };
|
||||
{ "", "Scholomance", "", "Scholomance" };
|
||||
{ "", "ShadowfangKeep", "", "Shadowfang Keep" };
|
||||
{ "", "TheStockade", "", "The Stockade" };
|
||||
{ "", "Stratholme", "", "Stratholme" };
|
||||
{ "", "SunkenTemple", "", "Sunken Temple" };
|
||||
{ "", "Uldaman", "", "Uldaman" };
|
||||
{ "", "WailingCaverns", "", "Wailing Caverns" };
|
||||
{ "", "ZulFarrak", "", "Zul'Farrak" };
|
||||
};
|
||||
{ "Dungeons:", "OldKeys", "Header" },
|
||||
{ "", "BlackfathomDeeps", "", "Blackfathom Deeps" },
|
||||
{ "", "BlackrockDepths", "", "Blackrock Depths" },
|
||||
{ "", "LowerBlackrock", "", "Lower Blackrock Spire" },
|
||||
{ "", "UpperBlackrock", "", "Upper Blackrock Spire" },
|
||||
{ "", "TheDeadmines", "", "The Deadmines" },
|
||||
{ "", "DireMaulNorth", "", "Dire Maul (North)", "Dire Maul" },
|
||||
{ "", "DireMaulEast", "", "Dire Maul (East)", "Dire Maul" },
|
||||
{ "", "DireMaulWest", "", "Dire Maul (West)", "Dire Maul" },
|
||||
{ "", "Gnomeregan", "", "Gnomeregan" },
|
||||
{ "", "Maraudon", "", "Maraudon" },
|
||||
{ "", "RagefireChasm", "", "Ragefire Chasm" },
|
||||
{ "", "RazorfenDowns", "", "Razorfen Downs" },
|
||||
{ "", "RazorfenKraul", "", "Razorfen Kraul" },
|
||||
{ "", "Scarlet Monastery", "", "Scarlet Monastery" },
|
||||
{ "", "Scholomance", "", "Scholomance" },
|
||||
{ "", "ShadowfangKeep", "", "Shadowfang Keep" },
|
||||
{ "", "TheStockade", "", "The Stockade" },
|
||||
{ "", "Stratholme", "", "Stratholme" },
|
||||
{ "", "SunkenTemple", "", "Sunken Temple" },
|
||||
{ "", "Uldaman", "", "Uldaman" },
|
||||
{ "", "WailingCaverns", "", "Wailing Caverns" },
|
||||
{ "", "ZulFarrak", "", "Zul'Farrak" },
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["Dungeons and RaidsTBC"] = {
|
||||
Module = "AtlasLootBurningCrusade";
|
||||
SubMenu = "Dungeons and RaidsTBC";
|
||||
{ "Raids:", "BCKeys", "Header" };
|
||||
{ "", "Karazhan", "", "Karazhan" };
|
||||
{ "", "GruulsLair", "", "Gruul's Lair" };
|
||||
{ "", "HCMagtheridon", "", "Magtheridon's Lair" };
|
||||
{ "", "CFRSerpentshrine", "", "Serpentshrine Cavern" };
|
||||
{ "", "TKEye", "", "The Eye" };
|
||||
{ "", "ZulAman", "", "Zul'Aman" };
|
||||
{ "", "CoTHyjal", "", "Mount Hyjal" };
|
||||
{ "", "BlackTemple", "", "Black Temple" };
|
||||
{ "", "SunwellPlateau", "", "Sunwell Plateau" };
|
||||
{ "", "WorldBossesTBC","", "World Bosses" };
|
||||
Module = "AtlasLootBurningCrusade",
|
||||
SubMenu = "Dungeons and RaidsTBC",
|
||||
{ "Raids:", "BCKeys", "Header" },
|
||||
{ "", "Karazhan", "", "Karazhan" },
|
||||
{ "", "GruulsLair", "", "Gruul's Lair" },
|
||||
{ "", "HCMagtheridon", "", "Magtheridon's Lair" },
|
||||
{ "", "CFRSerpentshrine", "", "Serpentshrine Cavern" },
|
||||
{ "", "TKEye", "", "The Eye" },
|
||||
{ "", "ZulAman", "", "Zul'Aman" },
|
||||
{ "", "CoTHyjal", "", "Mount Hyjal" },
|
||||
{ "", "BlackTemple", "", "Black Temple" },
|
||||
{ "", "SunwellPlateau", "", "Sunwell Plateau" },
|
||||
{ "", "WorldBossesTBC","", "World Bosses" },
|
||||
---- Dungeons -----
|
||||
{ "Dungeons:", "BCKeys", "Header" };
|
||||
{ "", "HCRamparts", "", "Hellfire Ramparts" };
|
||||
{ "", "HCShatteredHalls", "", "The Shattered Halls" };
|
||||
{ "", "HCFurnace", "", "The Blood Furnace" };
|
||||
{ "", "TKBot", "", "The Botanica" };
|
||||
{ "", "TKArc", "", "The Arcatraz" };
|
||||
{ "", "TKMech", "", "The Mechanar" };
|
||||
{ "", "AuchCrypts", "", "Auchenai Crypts" };
|
||||
{ "", "AuchManaTombs", "", "Mana-Tombs" };
|
||||
{ "", "AuchSethekk", "", "Sethekk Halls" };
|
||||
{ "", "AuchShadowLab", "", "Shadow Labyrinth" };
|
||||
{ "", "CoTOldHillsbrad", "", "Old Hillsbrad Foothills" };
|
||||
{ "", "CoTBlackMorass", "", "The Black Morass" };
|
||||
{ "", "CFRSlavePens", "", "The Slave Pens" };
|
||||
{ "", "CFRSteamvault", "", "The Steamvault" };
|
||||
{ "", "CFRUnderbog", "", "The Underbog" };
|
||||
{ "", "MagistersTerrace", "", "Magisters' Terrace" };
|
||||
};
|
||||
{ "Dungeons:", "BCKeys", "Header" },
|
||||
{ "", "HCRamparts", "", "Hellfire Ramparts" },
|
||||
{ "", "HCShatteredHalls", "", "The Shattered Halls" },
|
||||
{ "", "HCFurnace", "", "The Blood Furnace" },
|
||||
{ "", "TKBot", "", "The Botanica" },
|
||||
{ "", "TKArc", "", "The Arcatraz" },
|
||||
{ "", "TKMech", "", "The Mechanar" },
|
||||
{ "", "AuchCrypts", "", "Auchenai Crypts" },
|
||||
{ "", "AuchManaTombs", "", "Mana-Tombs" },
|
||||
{ "", "AuchSethekk", "", "Sethekk Halls" },
|
||||
{ "", "AuchShadowLab", "", "Shadow Labyrinth" },
|
||||
{ "", "CoTOldHillsbrad", "", "Old Hillsbrad Foothills" },
|
||||
{ "", "CoTBlackMorass", "", "The Black Morass" },
|
||||
{ "", "CFRSlavePens", "", "The Slave Pens" },
|
||||
{ "", "CFRSteamvault", "", "The Steamvault" },
|
||||
{ "", "CFRUnderbog", "", "The Underbog" },
|
||||
{ "", "MagistersTerrace", "", "Magisters' Terrace" },
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["Dungeons and RaidsWRATH"] = {
|
||||
Module = "AtlasLootWotLK";
|
||||
SubMenu = "Dungeons and RaidsWRATH";
|
||||
{ "Raids:", "WrathKeys", "Header" };
|
||||
{ "", "Naxxramas80", "Naxxramas" };
|
||||
{ "", "Sartharion", "Sartharion" };
|
||||
{ "", "Malygos", "Malygos" };
|
||||
{ "", "VaultofArchavon", "Vault of Archavon" };
|
||||
{ "", "Ulduar", "Ulduar" };
|
||||
{ "", "TrialoftheCrusader", "Trial of the Crusader" };
|
||||
{ "", "TrialoftheCrusader2", "Trial of the Crusader" };
|
||||
{ "", "Onyxia80", "Onyxia" };
|
||||
{ "", "IcecrownCitadel", "Icecrown Citadel" };
|
||||
{ "", "Halion", "Halion" };
|
||||
Module = "AtlasLootWotLK",
|
||||
SubMenu = "Dungeons and RaidsWRATH",
|
||||
{ "Raids:", "WrathKeys", "Header" },
|
||||
{ "", "Naxxramas80", "Naxxramas" },
|
||||
{ "", "Sartharion", "Sartharion" },
|
||||
{ "", "Malygos", "Malygos" },
|
||||
{ "", "VaultofArchavon", "Vault of Archavon" },
|
||||
{ "", "Ulduar", "Ulduar" },
|
||||
{ "", "TrialoftheCrusader", "Trial of the Crusader" },
|
||||
{ "", "TrialoftheCrusader2", "Trial of the Crusader" },
|
||||
{ "", "Onyxia80", "Onyxia" },
|
||||
{ "", "IcecrownCitadel", "Icecrown Citadel" },
|
||||
{ "", "Halion", "Halion" },
|
||||
---- Dungeons -----
|
||||
{ "Dungeons:", "WrathKeys", "Header" };
|
||||
{ "", "Ahnkahet", "Ahnkahet" };
|
||||
{ "", "AzjolNerub", "AzjolNerub" };
|
||||
{ "", "CoTStratholme", "The Culling of Stratholme" };
|
||||
{ "", "DrakTharonKeep", "DrakTharon Keep" };
|
||||
{ "", "ForgeofSouls", "Forge of Souls" };
|
||||
{ "", "Gundrak", "Gundrak" };
|
||||
{ "", "HallsofLightning", "Halls of Lightning" };
|
||||
{ "", "HallsofReflection", "Halls of Reflection" };
|
||||
{ "", "HallsofStone", "Halls of Stone" };
|
||||
{ "", "TheNexus", "The Nexus" };
|
||||
{ "", "TheOculus", "The Oculus" };
|
||||
{ "", "PitofSaron", "Pit of Saron" };
|
||||
{ "", "TrialoftheChampion", "Trial of the Champion" };
|
||||
{ "", "UtgardeKeep", "Utgarde Keep" };
|
||||
{ "", "UtgardePinnacle", "Utgarde Pinnacle" };
|
||||
{ "", "TheVioletHold", "The Violet Hold" };
|
||||
};
|
||||
{ "Dungeons:", "WrathKeys", "Header" },
|
||||
{ "", "Ahnkahet", "Ahnkahet" },
|
||||
{ "", "AzjolNerub", "AzjolNerub" },
|
||||
{ "", "CoTStratholme", "The Culling of Stratholme" },
|
||||
{ "", "DrakTharonKeep", "DrakTharon Keep" },
|
||||
{ "", "ForgeofSouls", "Forge of Souls" },
|
||||
{ "", "Gundrak", "Gundrak" },
|
||||
{ "", "HallsofLightning", "Halls of Lightning" },
|
||||
{ "", "HallsofReflection", "Halls of Reflection" },
|
||||
{ "", "HallsofStone", "Halls of Stone" },
|
||||
{ "", "TheNexus", "The Nexus" },
|
||||
{ "", "TheOculus", "The Oculus" },
|
||||
{ "", "PitofSaron", "Pit of Saron" },
|
||||
{ "", "TrialoftheChampion", "Trial of the Champion" },
|
||||
{ "", "UtgardeKeep", "Utgarde Keep" },
|
||||
{ "", "UtgardePinnacle", "Utgarde Pinnacle" },
|
||||
{ "", "TheVioletHold", "The Violet Hold" },
|
||||
}
|
||||
@@ -4,31 +4,30 @@ Defines the table listings for the dropdown lists.
|
||||
]]
|
||||
|
||||
--Invoke all libraries
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
--This is a multi-layer table defining the main loot listing.
|
||||
--Entries have the text to display, loot table or sub table to link to and if the link is to a loot table or sub table
|
||||
AtlasLoot_Modules = {
|
||||
{AL["Dungeons and Raids"], "Dungeons and Raids", 2};
|
||||
{AL["Crafting"], "Crafting"};
|
||||
{AL["Sets/Collections"], "Collections"};
|
||||
{AL["PvP Rewards"], "PVP"};
|
||||
{AL["Vanity"], "Vanity"};
|
||||
{AL["Reputation Factions"], "Reputations"};
|
||||
{AL["World Events"], "WorldEvents"};
|
||||
};
|
||||
{AL["Dungeons and Raids"], "Dungeons and Raids", 2},
|
||||
{AL["Crafting"], "Crafting"},
|
||||
{AL["Sets/Collections"], "Collections"},
|
||||
{AL["PvP Rewards"], "PVP"},
|
||||
{AL["Vanity"], "Vanity"},
|
||||
{AL["Ascension Vanity Collection"], "CollectionsAscension"},
|
||||
{AL["Reputation Factions"], "Reputations"},
|
||||
{AL["World Events"], "WorldEvents"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus = {};
|
||||
|
||||
AtlasLoot_CraftingData = {};
|
||||
AtlasLoot_SubMenus = {}
|
||||
|
||||
AtlasLoot_ExpansionMenu = {
|
||||
{ AL["Classic"], "CLASSIC" };
|
||||
{ AL["Burning Crusade"], "TBC" };
|
||||
{ AL["Wrath of the Lich King"], "WRATH" };
|
||||
};
|
||||
{ AL["Classic"], "CLASSIC" },
|
||||
{ AL["Burning Crusade"], "TBC" },
|
||||
{ AL["Wrath of the Lich King"], "WRATH" },
|
||||
}
|
||||
|
||||
AtlasLoot_Data["EmptyTable"] = {
|
||||
Name = AL["Select a Loot Table..."];
|
||||
{Name = AL["Select a Loot Table..."]};
|
||||
};
|
||||
Name = AL["Select a Loot Table..."],
|
||||
{Name = AL["Select a Loot Table..."]},
|
||||
}
|
||||
@@ -6,4 +6,5 @@
|
||||
<Script file="SetMenus.lua"/>
|
||||
<Script file="WorldEventMenus.lua"/>
|
||||
<Script file="RepMenus.lua"/>
|
||||
<Script file="AscensionCollectionMenu.lua"/>
|
||||
</Ui>
|
||||
@@ -1,69 +1,69 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
AtlasLoot_SubMenus["PVPCLASSIC"] = {
|
||||
Module = "AtlasLootOriginalWoW";
|
||||
{ "PVP Factions", "AVMisc", "Header"};
|
||||
{ "", "AVMisc"};
|
||||
{ "", "AB_A"};
|
||||
{ "", "AB_H"};
|
||||
{ "", "WSG_A"};
|
||||
{ "", "WSG_H"};
|
||||
{ "", "PVPWeapons60"};
|
||||
{ "", "PvP60Accessories"};
|
||||
{ "", "PvP60Ench"};
|
||||
{ "PVP Sets", "PVPDruid", "Header"};
|
||||
{ "", "PVPDruid"};
|
||||
{ "", "PVPHunter"};
|
||||
{ "", "PVPMage"};
|
||||
{ "", "PVPPaladin"};
|
||||
{ "", "PVPPriest"};
|
||||
{ "", "PVPRogue"};
|
||||
{ "", "PVPShaman"};
|
||||
{ "", "PVPWarlock"};
|
||||
{ "", "PVPWarrior"};
|
||||
};
|
||||
Module = "AtlasLootOriginalWoW",
|
||||
{ "PVP Factions", "AVMisc", "Header"},
|
||||
{ "", "AVMisc"},
|
||||
{ "", "AB_A"},
|
||||
{ "", "AB_H"},
|
||||
{ "", "WSG_A"},
|
||||
{ "", "WSG_H"},
|
||||
{ "", "PVPWeapons60"},
|
||||
{ "", "PvP60Accessories"},
|
||||
{ "", "PvP60Ench"},
|
||||
{ "PVP Sets", "PVPDruid", "Header"},
|
||||
{ "", "PVPDruid"},
|
||||
{ "", "PVPHunter"},
|
||||
{ "", "PVPMage"},
|
||||
{ "", "PVPPaladin"},
|
||||
{ "", "PVPPriest"},
|
||||
{ "", "PVPRogue"},
|
||||
{ "", "PVPShaman"},
|
||||
{ "", "PVPWarlock"},
|
||||
{ "", "PVPWarrior"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["PVPTBC"] = {
|
||||
Module = "AtlasLootBurningCrusade";
|
||||
{ "PVP Factions", "PVPHellfire", "Header"};
|
||||
{ "", "PVPHellfire"};
|
||||
{ "", "PVPHalaa"};
|
||||
{ "", "PVPSpiritTowers"};
|
||||
{ "", "PVPTwinSpireRuins"};
|
||||
{ "", "PVP70RepGear"};
|
||||
{ "", "PvP70Accessories"};
|
||||
{ "", "PvP70NonSet"};
|
||||
{ "", "WeaponsTBC"};
|
||||
{ "PVP Sets", "ArenaDruidTBC", "Header"};
|
||||
{ "", "ArenaDruidTBC"};
|
||||
{ "", "ArenaHunterTBC"};
|
||||
{ "", "ArenaMageTBC"};
|
||||
{ "", "ArenaPaladinTBC"};
|
||||
{ "", "ArenaPriestTBC"};
|
||||
{ "", "ArenaRogueTBC"};
|
||||
{ "", "ArenaShamanTBC"};
|
||||
{ "", "ArenaWarlockTBC"};
|
||||
{ "", "ArenaWarriorTBC"};
|
||||
};
|
||||
Module = "AtlasLootBurningCrusade",
|
||||
{ "PVP Factions", "PVPHellfire", "Header"},
|
||||
{ "", "PVPHellfire"},
|
||||
{ "", "PVPHalaa"},
|
||||
{ "", "PVPSpiritTowers"},
|
||||
{ "", "PVPTwinSpireRuins"},
|
||||
{ "", "PVP70RepGear"},
|
||||
{ "", "PvP70Accessories"},
|
||||
{ "", "PvP70NonSet"},
|
||||
{ "", "WeaponsTBC"},
|
||||
{ "PVP Sets", "ArenaDruidTBC", "Header"},
|
||||
{ "", "ArenaDruidTBC"},
|
||||
{ "", "ArenaHunterTBC"},
|
||||
{ "", "ArenaMageTBC"},
|
||||
{ "", "ArenaPaladinTBC"},
|
||||
{ "", "ArenaPriestTBC"},
|
||||
{ "", "ArenaRogueTBC"},
|
||||
{ "", "ArenaShamanTBC"},
|
||||
{ "", "ArenaWarlockTBC"},
|
||||
{ "", "ArenaWarriorTBC"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["PVPWRATH"] = {
|
||||
Module = "AtlasLootWotLK";
|
||||
{ "PVP Factions", "LakeWintergrasp", "Header"};
|
||||
{ "", "LakeWintergrasp"};
|
||||
{ "", "VentureBay"};
|
||||
{ "", "PvP80Misc"};
|
||||
{ "", "PVPidolWRATH"};
|
||||
{ "", "PvP80NonSet"};
|
||||
{ "", "WeaponsWRATH"};
|
||||
{ "PVP Sets", "ArenaDruidWRATH", "Header"};
|
||||
{ "", "ArenaDruidWRATH"};
|
||||
{ "", "ArenaHunterWRATH"};
|
||||
{ "", "ArenaMageWRATH"};
|
||||
{ "", "ArenaPaladinWRATH"};
|
||||
{ "", "ArenaPriestWRATH"};
|
||||
{ "", "ArenaRogueWRATH"};
|
||||
{ "", "ArenaShamanWRATH"};
|
||||
{ "", "ArenaWarlockWRATH"};
|
||||
{ "", "ArenaWarriorWRATH"};
|
||||
{ "", "ArenaDeathKnightWRATH"};
|
||||
};
|
||||
Module = "AtlasLootWotLK",
|
||||
{ "PVP Factions", "LakeWintergrasp", "Header"},
|
||||
{ "", "LakeWintergrasp"},
|
||||
{ "", "VentureBay"},
|
||||
{ "", "PvP80Misc"},
|
||||
{ "", "PVPidolWRATH"},
|
||||
{ "", "PvP80NonSet"},
|
||||
{ "", "WeaponsWRATH"},
|
||||
{ "PVP Sets", "ArenaDruidWRATH", "Header"},
|
||||
{ "", "ArenaDruidWRATH"},
|
||||
{ "", "ArenaHunterWRATH"},
|
||||
{ "", "ArenaMageWRATH"},
|
||||
{ "", "ArenaPaladinWRATH"},
|
||||
{ "", "ArenaPriestWRATH"},
|
||||
{ "", "ArenaRogueWRATH"},
|
||||
{ "", "ArenaShamanWRATH"},
|
||||
{ "", "ArenaWarlockWRATH"},
|
||||
{ "", "ArenaWarriorWRATH"},
|
||||
{ "", "ArenaDeathKnightWRATH"},
|
||||
}
|
||||
|
||||
@@ -1,58 +1,58 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
AtlasLoot_SubMenus["ReputationsCLASSIC"] = {
|
||||
Module = "AtlasLootOriginalWoW";
|
||||
{ "", "Argent"};
|
||||
{ "", "AQBroodRings"};
|
||||
{ "", "AlteracFactions"};
|
||||
{ "", "ArathiBasinFactions"};
|
||||
{ "", "Timbermaw"};
|
||||
{ "", "Zandalar"};
|
||||
{ "", "Bloodsail"};
|
||||
{ "", "Cenarion"};
|
||||
{ "", "Hydraxian"};
|
||||
{ "", "DesolaceCentaurClans"};
|
||||
{ "", "Thorium"};
|
||||
{ "", "Wintersaber"};
|
||||
};
|
||||
Module = "AtlasLootOriginalWoW",
|
||||
{ "", "Argent"},
|
||||
{ "", "AQBroodRings"},
|
||||
{ "", "AlteracFactions"},
|
||||
{ "", "ArathiBasinFactions"},
|
||||
{ "", "Timbermaw"},
|
||||
{ "", "Zandalar"},
|
||||
{ "", "Bloodsail"},
|
||||
{ "", "Cenarion"},
|
||||
{ "", "Hydraxian"},
|
||||
{ "", "DesolaceCentaurClans"},
|
||||
{ "", "Thorium"},
|
||||
{ "", "Wintersaber"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["ReputationsTBC"] = {
|
||||
Module = "AtlasLootBurningCrusade";
|
||||
{ "", "ShattrathFlasks"};
|
||||
{ "", "Aldor"};
|
||||
{ "", "Scryer"};
|
||||
{ "", "Shatar"};
|
||||
{ "", "LowerCity"};
|
||||
{ "", "CExpedition"};
|
||||
{ "", "HonorHold"};
|
||||
{ "", "Thrallmar"};
|
||||
{ "", "Kurenai"};
|
||||
{ "", "Maghar"};
|
||||
{ "", "Ogrila"};
|
||||
{ "", "Skyguard"};
|
||||
{ "", "Sporeggar"};
|
||||
{ "", "Tranquillien"};
|
||||
{ "", "Ashtongue"};
|
||||
{ "", "Consortium"};
|
||||
{ "", "KeepersofTime"};
|
||||
{ "", "Netherwing"};
|
||||
{ "", "ScaleSands"};
|
||||
{ "", "SunOffensive"};
|
||||
{ "", "VioletEye"};
|
||||
};
|
||||
Module = "AtlasLootBurningCrusade",
|
||||
{ "", "ShattrathFlasks"},
|
||||
{ "", "Aldor"},
|
||||
{ "", "Scryer"},
|
||||
{ "", "Shatar"},
|
||||
{ "", "LowerCity"},
|
||||
{ "", "CExpedition"},
|
||||
{ "", "HonorHold"},
|
||||
{ "", "Thrallmar"},
|
||||
{ "", "Kurenai"},
|
||||
{ "", "Maghar"},
|
||||
{ "", "Ogrila"},
|
||||
{ "", "Skyguard"},
|
||||
{ "", "Sporeggar"},
|
||||
{ "", "Tranquillien"},
|
||||
{ "", "Ashtongue"},
|
||||
{ "", "Consortium"},
|
||||
{ "", "KeepersofTime"},
|
||||
{ "", "Netherwing"},
|
||||
{ "", "ScaleSands"},
|
||||
{ "", "SunOffensive"},
|
||||
{ "", "VioletEye"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["ReputationsWRATH"] = {
|
||||
Module = "AtlasLootWotLK";
|
||||
{ "", "AllianceVanguard"};
|
||||
{ "", "WinterfinRetreat"};
|
||||
{ "", "TheWyrmrestAccord"};
|
||||
{ "", "KnightsoftheEbonBlade"};
|
||||
{ "", "TheOracles"};
|
||||
{ "", "TheSonsofHodir"};
|
||||
{ "", "HordeExpedition"};
|
||||
{ "", "TheKaluak"};
|
||||
{ "", "KirinTor"};
|
||||
{ "", "ArgentCrusade"};
|
||||
{ "", "FrenzyheartTribe"};
|
||||
{ "", "AshenVerdict"};
|
||||
};
|
||||
Module = "AtlasLootWotLK",
|
||||
{ "", "AllianceVanguard"},
|
||||
{ "", "WinterfinRetreat"},
|
||||
{ "", "TheWyrmrestAccord"},
|
||||
{ "", "KnightsoftheEbonBlade"},
|
||||
{ "", "TheOracles"},
|
||||
{ "", "TheSonsofHodir"},
|
||||
{ "", "HordeExpedition"},
|
||||
{ "", "TheKaluak"},
|
||||
{ "", "KirinTor"},
|
||||
{ "", "ArgentCrusade"},
|
||||
{ "", "FrenzyheartTribe"},
|
||||
{ "", "AshenVerdict"},
|
||||
}
|
||||
+55
-117
@@ -1,129 +1,67 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
|
||||
-- { #, "MOUNTMENU", "INV_Misc_QirajiCrystal_05", "=ds="..AL["Mounts"], ""};
|
||||
-- { #, "PETMENU", "INV_Box_PetCarrier_01", "=ds="..AL["Vanity Pets"], ""};
|
||||
-- { #, "Tabards3", "INV_Shirt_GuildTabard_01", "=ds="..AL["Tabards"], ""};
|
||||
-- { #, "CardGame1", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Upper Deck Card Game Items"], ""};
|
||||
-- { #, "PVPMENU", "INV_Axe_02", "=ds="..AL["PvP Rewards"], ""};
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
AtlasLoot_SubMenus["CollectionsCLASSIC"] = {
|
||||
Module = "AtlasLootOriginalWoW";
|
||||
{ "", "Heirloom"};
|
||||
{ "", "ClassicSets"};
|
||||
{ "", "WorldEpicsCLASSIC"};
|
||||
{ "", "ZGSets"};
|
||||
{ "", "AQ20Sets"};
|
||||
{ "", "T0"};
|
||||
{ "", "T1"};
|
||||
{ "", "T2"};
|
||||
{ "", "T2.5"};
|
||||
{ "", "T3"};
|
||||
};
|
||||
Module = "AtlasLootOriginalWoW",
|
||||
{ "", "Heirloom"},
|
||||
{ "", "ClassicSets"},
|
||||
{ "", "WorldEpicsCLASSIC"},
|
||||
{ "All Dungeon Items", "ClassicDungeonExt", OnDamand = "ClassicDungeonExt"},
|
||||
{ "", "ZGSets"},
|
||||
{ "", "AQ20Sets"},
|
||||
{ "", "T0"},
|
||||
{ "", "T1"},
|
||||
{ "", "T2"},
|
||||
{ "", "T2.5"},
|
||||
{ "", "T3"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["CollectionsTBC"] = {
|
||||
Module = "AtlasLootBurningCrusade";
|
||||
{ "", "Heirloom"};
|
||||
{ "", "DS3"};
|
||||
{ "", "WorldEpicsTBC"};
|
||||
{ "", "TBCSets"};
|
||||
{ AL["Badge of Justice Rewards"], "BadgeShatt", "Header"};
|
||||
{ "", "BadgeShatt"};
|
||||
{ "", "BadgeSunwell"};
|
||||
{ "Tier Sets", "T4", "Header"};
|
||||
{ "", "T4"};
|
||||
{ "", "T5"};
|
||||
{ "", "T6"};
|
||||
};
|
||||
Module = "AtlasLootBurningCrusade",
|
||||
{ "", "Heirloom"},
|
||||
{ "", "DS3"},
|
||||
{ "", "WorldRaresTBC"},
|
||||
{ "", "WorldEpicsTBC"},
|
||||
{ "All Dungeon Items", "BCDungeon", OnDamand = "BCDungeon"},
|
||||
{ "", "TBCSets"},
|
||||
{ AL["Badge of Justice Rewards"], "BadgeShatt", "Header"},
|
||||
{ "", "BadgeShatt"},
|
||||
{ "", "BadgeSunwell"},
|
||||
{ "Tier Sets", "T4", "Header"},
|
||||
{ "", "T4"},
|
||||
{ "", "T5"},
|
||||
{ "", "T6"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["CollectionsWRATH"] = {
|
||||
Module = "AtlasLootWotLK";
|
||||
{ "", "Heirloom"};
|
||||
{ "", "WorldEpicsWrath"};
|
||||
{ "", "Legendaries"};
|
||||
{ "Badge Rewards", "EmblemofHeroism", "Header"};
|
||||
{ "", "EmblemofHeroism"};
|
||||
{ "", "EmblemofValor"};
|
||||
{ "", "EmblemofConquest"};
|
||||
{ "", "EmblemofTriumph"};
|
||||
{ "", "EmblemofFrost"};
|
||||
{ "Tier Sets", "T7", "Header"};
|
||||
{ "", "T7"};
|
||||
{ "", "T8"};
|
||||
{ "", "T9"};
|
||||
{ "", "T10"};
|
||||
};
|
||||
Module = "AtlasLootWotLK",
|
||||
{ "", "Heirloom"},
|
||||
{ "", "WorldEpicsWrath"},
|
||||
{ "All Dungeon Items", "WrathDungeon", OnDamand = "WrathDungeon"},
|
||||
{ "", "Legendaries"},
|
||||
{ "Badge Rewards", "EmblemofHeroism", "Header"},
|
||||
{ "", "EmblemofHeroism"},
|
||||
{ "", "EmblemofValor"},
|
||||
{ "", "EmblemofConquest"},
|
||||
{ "", "EmblemofTriumph"},
|
||||
{ "", "EmblemofFrost"},
|
||||
{ "Tier Sets", "T7", "Header"},
|
||||
{ "", "T7"},
|
||||
{ "", "T8"},
|
||||
{ "", "T9"},
|
||||
{ "", "T10"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["VanityCLASSIC"] = {
|
||||
Module = "AtlasLootVanity";
|
||||
{ "", "Tabards"};
|
||||
{ "", "VanityPets"};
|
||||
{ "", "Mounts"};
|
||||
};
|
||||
Module = "AtlasLootVanity",
|
||||
{ "", "Tabards"},
|
||||
{ "", "VanityPets"},
|
||||
{ "", "Mounts"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["VanityTBC"] = AtlasLoot_SubMenus["VanityCLASSIC"];
|
||||
AtlasLoot_SubMenus["VanityWRATH"] = AtlasLoot_SubMenus["VanityCLASSIC"];
|
||||
|
||||
----------------------
|
||||
--- Heirloom Items ---
|
||||
----------------------
|
||||
AtlasLoot_Data["Heirloom"] = {
|
||||
Name = AL["Heirloom"];
|
||||
{
|
||||
Name = "Chests";
|
||||
{ 1, 48691, "", "=q7=Tattered Dreadmist Robe", "=ds=#s5#, #a1#", "1200 #tokenofprestige#" };
|
||||
{ 2, 48687, "", "=q7=Preened Ironfeather Breastplate", "=ds=#s5#, #a2#", "1200 #tokenofprestige#" };
|
||||
{ 3, 48689, "", "=q7=Stained Shadowcraft Tunic", "=ds=#s5#, #a2#", "1200 #tokenofprestige#" };
|
||||
{ 4, 48677, "", "=q7=Champion's Deathdealer Breastplate", "=ds=#s5#, #a3#", "1200 #tokenofprestige#" };
|
||||
{ 5, 48683, "", "=q7=Mystical Vest of Elements", "=ds=#s5#, #a3#", "1200 #tokenofprestige#" };
|
||||
{ 6, 48685, "", "=q7=Polished Breastplate of Valor", "=ds=#s5#, #a4#", "1200 #tokenofprestige#" };
|
||||
{ 7, 1548685, "", "=q7=Polished Breastplate of Might", "=ds=#s5#, #a4#", "1200 #tokenofprestige#" };
|
||||
|
||||
};
|
||||
{
|
||||
Name = "Shoulders";
|
||||
{ 1, 42985, "", "=q7=Tattered Dreadmist Mantle", "=ds=#s3#, #a1#", "800 #tokenofprestige#" };
|
||||
{ 2, 42984, "", "=q7=Preened Ironfeather Shoulders", "=ds=#s3#, #a2#", "800 #tokenofprestige#" };
|
||||
{ 3, 42952, "", "=q7=Stained Shadowcraft Spaulders", "=ds=#s3#, #a2#", "800 #tokenofprestige#" };
|
||||
{ 4, 42950, "", "=q7=Champion Herod's Shoulder", "=ds=#s3#, #a3#", "800 #tokenofprestige#" };
|
||||
{ 5, 42951, "", "=q7=Mystical Pauldrons of Elements", "=ds=#s3#, #a3#", "800 #tokenofprestige#" };
|
||||
{ 6, 42949, "", "=q7=Polished Spaulders of Valor", "=ds=#s3#, #a4#", "800 #tokenofprestige#" };
|
||||
{ 7, 1542949, "", "=q7=Polished Spaulders of Might", "=ds=#s3#, #a4#", "800 #tokenofprestige#" };
|
||||
{ 16, 44107, "", "=q7=Exquisite Sunderseer Mantle", "=ds=#s3#, #a1#", "800 #tokenofprestige#" };
|
||||
{ 17, 44103, "", "=q7=Exceptional Stormshroud Shoulders", "=ds=#s3#, #a2#", "800 #tokenofprestige#" };
|
||||
{ 18, 44105, "", "=q7=Lasting Feralheart Spaulders", "=ds=#s3#, #a2#", "800 #tokenofprestige#" };
|
||||
{ 19, 44102, "", "=q7=Aged Pauldrons of The Five Thunders", "=ds=#s3#, #a3#", "800 #tokenofprestige#" };
|
||||
{ 20, 44101, "", "=q7=Prized Beastmaster's Mantle", "=ds=#s3#, #a3#", "800 #tokenofprestige#" };
|
||||
{ 21, 44100, "", "=q7=Pristine Lightforge Spaulders", "=ds=#s3#, #a4#", "800 #tokenofprestige#" };
|
||||
{ 22, 44099, "", "=q7=Strengthened Stockade Pauldrons", "=ds=#s3#, #a4#", "800 #tokenofprestige#" };
|
||||
};
|
||||
{
|
||||
Name = "Trinkets/Rings";
|
||||
{ 1, 42992, "", "=q7=Discerning Eye of the Beast", "=ds=#s14#", "500 #tokenofprestige#" };
|
||||
{ 2, 42991, "", "=q7=Swift Hand of Justice", "=ds=#s14#", "500 #tokenofprestige#" };
|
||||
{ 3, 44098, "", "=q7=Inherited Insignia of the Alliance", "500 #tokenofprestige#" };
|
||||
{ 4, 44097, "", "=q7=Inherited Insignia of the Horde", "500 #tokenofprestige#" };
|
||||
{ 6, 50255, "", "=q7=Dread Pirate Ring", "=ds=#s13#", "" };
|
||||
};
|
||||
{
|
||||
Name = "Weapons";
|
||||
{ 1, 42944, "", "=q7=Balanced Heartseeker", "=ds=#w4#, #h1#", "600 #tokenofprestige#" };
|
||||
{ 2, 42945, "", "=q7=Venerable Dal'Rend's Sacred Charge", "=ds=#w10#, #h3#", "600 #tokenofprestige#" };
|
||||
{ 3, 42948, "", "=q7=Devout Aurastone Hammer", "600 #tokenofprestige#" };
|
||||
{ 4, 48716, "", "=q7=Venerable Mass of McGowan", "600 #tokenofprestige#" };
|
||||
{ 5, 44091, "", "=q7=Sharpened Scarlet Kris", "=ds=#h1#, #w4#", "600 #tokenofprestige#" };
|
||||
{ 6, 44096, "", "=q7=Battleworn Thrash Blade", "=ds=#h1#, #w10#", "600 #tokenofprestige#" };
|
||||
{ 7, 44094, "", "=q7=The Blessed Hammer of Grace", "=ds=#h3#, #w6#", "600 #tokenofprestige#" };
|
||||
{ 7, 1540350, "", "=q7=Urn of Aspiring Light", "=ds=#h3#, #w6#", "600 #tokenofprestige#" };
|
||||
{ 16, 42943, "", "=q7=Bloodied Arcanite Reaper", "=ds=#w1#, #h2#", "1000 #tokenofprestige#" };
|
||||
{ 17, 1542943, "", "=q7=Sturdied Arcanite Spear", "=ds=#w1#, #h2#", "1000 #tokenofprestige#" };
|
||||
{ 18, 48718, "", "=q7=Repurposed Lava Dredger", "=ds=#w6#, #h2#", "1000 #tokenofprestige#" };
|
||||
{ 19, 42947, "", "=q7=Dignified Headmaster's Charge", "=ds=#w9#", "1000 #tokenofprestige#" };
|
||||
{ 20, 44092, "", "=q7=Reforged Truesilver Champion", "=ds=#h2#, #w10#", "1000 #tokenofprestige#" };
|
||||
{ 21, 44095, "", "=q7=Grand Staff of Jordan", "=ds=#w9#", "1000 #tokenofprestige#" };
|
||||
{ 23, 42946, "", "=q7=Charmed Ancient Bone Bow", "=ds=#w2#", "1000 #tokenofprestige#" };
|
||||
{ 24, 44093, "", "=q7=Upgraded Dwarven Hand Cannon", "=ds=#w5#", "1000 #tokenofprestige#" };
|
||||
};
|
||||
};
|
||||
AtlasLoot_SubMenus["VanityTBC"] = AtlasLoot_SubMenus["VanityCLASSIC"]
|
||||
AtlasLoot_SubMenus["VanityWRATH"] = AtlasLoot_SubMenus["VanityCLASSIC"]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,72 +1,72 @@
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
|
||||
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
||||
|
||||
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"};
|
||||
};
|
||||
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_SubMenus["WorldEventsTBC"] = {
|
||||
Module = "AtlasLootWorldEvents";
|
||||
{ "Seasonal", "BrewfestTBC", "Header"};
|
||||
{ "", "BrewfestTBC"};
|
||||
{ "", "DayoftheDead"};
|
||||
{ "", "HalloweenTBC"};
|
||||
{ "", "Valentineday"};
|
||||
{ "", "MidsummerFestivalTBC"};
|
||||
{ "", "PilgrimsBounty"};
|
||||
{ "", "ChildrensWeek"};
|
||||
{ "", "Winterviel"};
|
||||
{ "", "HarvestFestival"};
|
||||
{ "", "LunarFestival"};
|
||||
{ "", "Noblegarden"};
|
||||
{ "Other", "BashirLanding", "Header"};
|
||||
{ "", "BashirLanding"};
|
||||
{ "", "GurubashiArena"};
|
||||
{ "", "Shartuul"};
|
||||
{ "", "AbyssalCouncil"};
|
||||
{ "", "Skettis"};
|
||||
{ "", "Darkmoon"};
|
||||
{ "", "FishingExtravaganza"};
|
||||
{ "", "EthereumPrison"};
|
||||
};
|
||||
Module = "AtlasLootWorldEvents",
|
||||
{ "Seasonal", "BrewfestTBC", "Header"},
|
||||
{ "", "BrewfestTBC"},
|
||||
{ "", "DayoftheDead"},
|
||||
{ "", "HalloweenTBC"},
|
||||
{ "", "Valentineday"},
|
||||
{ "", "MidsummerFestivalTBC"},
|
||||
{ "", "PilgrimsBounty"},
|
||||
{ "", "ChildrensWeek"},
|
||||
{ "", "Winterviel"},
|
||||
{ "", "HarvestFestival"},
|
||||
{ "", "LunarFestival"},
|
||||
{ "", "Noblegarden"},
|
||||
{ "Other", "BashirLanding", "Header"},
|
||||
{ "", "BashirLanding"},
|
||||
{ "", "GurubashiArena"},
|
||||
{ "", "Shartuul"},
|
||||
{ "", "AbyssalCouncil"},
|
||||
{ "", "Skettis"},
|
||||
{ "", "Darkmoon"},
|
||||
{ "", "FishingExtravaganza"},
|
||||
{ "", "EthereumPrison"},
|
||||
}
|
||||
|
||||
AtlasLoot_SubMenus["WorldEventsWRATH"] = {
|
||||
Module = "AtlasLootWorldEvents";
|
||||
{ "Seasonal", "BrewfestWRATH", "Header"};
|
||||
{ "", "BrewfestWRATH"};
|
||||
{ "", "DayoftheDead"};
|
||||
{ "", "HalloweenWRATH"};
|
||||
{ "", "Valentineday"};
|
||||
{ "", "MidsummerFestivalWRATH"};
|
||||
{ "", "PilgrimsBounty"};
|
||||
{ "", "ChildrensWeek"};
|
||||
{ "", "Winterviel"};
|
||||
{ "", "HarvestFestival"};
|
||||
{ "", "LunarFestival"};
|
||||
{ "", "Noblegarden"};
|
||||
{ "Other", "ArgentTournament", "Header"};
|
||||
{ "", "ArgentTournament"};
|
||||
{ "", "GurubashiArena"};
|
||||
{ "", "Shartuul"};
|
||||
{ "", "Skettis"};
|
||||
{ "", "Darkmoon"};
|
||||
{ "", "FishingExtravaganza"};
|
||||
};
|
||||
Module = "AtlasLootWorldEvents",
|
||||
{ "Seasonal", "BrewfestWRATH", "Header"},
|
||||
{ "", "BrewfestWRATH"},
|
||||
{ "", "DayoftheDead"},
|
||||
{ "", "HalloweenWRATH"},
|
||||
{ "", "Valentineday"},
|
||||
{ "", "MidsummerFestivalWRATH"},
|
||||
{ "", "PilgrimsBounty"},
|
||||
{ "", "ChildrensWeek"},
|
||||
{ "", "Winterviel"},
|
||||
{ "", "HarvestFestival"},
|
||||
{ "", "LunarFestival"},
|
||||
{ "", "Noblegarden"},
|
||||
{ "Other", "ArgentTournament", "Header"},
|
||||
{ "", "ArgentTournament"},
|
||||
{ "", "GurubashiArena"},
|
||||
{ "", "Shartuul"},
|
||||
{ "", "Skettis"},
|
||||
{ "", "Darkmoon"},
|
||||
{ "", "FishingExtravaganza"},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user