Merge branch 'Anch-version-4.0'

This commit is contained in:
Szyler
2021-10-26 13:14:32 +01:00
18 changed files with 15776 additions and 2635 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
## Interface: 30300
## Title: AtlasLoot Ascension Edition
## Notes: Shows the possible loot from the bosses
## Author: Original: Hegarol, Ascension: Skray/Szyler
## Author: Original: Hegarol, Ascension: Skray/Szyler/Anch
## Version: v5.11.04
## X-eMail: manager@atlasloot.net
## X-Credits: Daviesh, Lag, Cellelach, Asurn, Pernicus and many others.
+152 -430
View File
@@ -55,7 +55,7 @@ ATLASLOOT_INDENT = " ";
--Make the Dewdrop menu in the standalone loot browser accessible here
AtlasLoot_Dewdrop = AceLibrary("Dewdrop-2.0");
AtlasLoot_DewdropSubMenu = AceLibrary("Dewdrop-2.0");
AtlasLoot_DewdropSubMenu2 = AceLibrary("Dewdrop-2.0");
--Variable to cap debug spam
ATLASLOOT_DEBUGSHOWN = false;
@@ -82,6 +82,12 @@ Hooked_Atlas_Refresh = nil;
Hooked_Atlas_OnShow = nil;
Hooked_AtlasScrollBar_Update = nil;
--Pre Sets for defficuilty menu
SelectedTable2TextSet = true
isTablereference = false
notPattern = false
AtlasLootCharDB={};
local AtlasLootDBDefaults = {
@@ -104,7 +110,7 @@ local AtlasLootDBDefaults = {
LastBoss = "EmptyTable",
HeroicMode = false,
BigraidHeroic = false,
Bigraid = false,
Bigraid = false,
AtlasLootVersion = "1",
AtlasNaggedVersion = "",
FuBarPosition = 1,
@@ -133,28 +139,6 @@ AtlasLoot_MenuList = {
"ARENA4SET",
};
AtlasLoot_Difficulty = {
["Dungeon"] = {"Bloodforged", "Normal", "Heroic", "Mythic", "Mythic 1", "Mythic 2","Mythic 3","Mythic 4","Mythic 5", "Mythic 6","Mythic 7","Mythic 8","Mythic 9", "Mythic 10",};
["ExDungeon"] = {"Bloodforged", "Normal/Heroic", ":D", "Mythic", "Mythic 1", "Mythic 2","Mythic 3","Mythic 4","Mythic 5", "Mythic 6","Mythic 7","Mythic 8","Mythic 9", "Mythic 10",};
["Raid"] = {"Bloodforged", "Normal Flex", "Heroic Flex", "Ascended",};
["Crafting"] = {"Uncommon", "Rare", "Epic"};
--Enums
Bloodforged = 1;
Normal = 2;
Heroic = 3;
Mythic = 4;
Ascended = 4;
MythicPlus = {5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
--Helper Enums to Set min and max difficulties
MIN_DIF = 18;
MAX_DIF = 19;
}
--AtlasLoot_Difficulty was too long to write for enum reasons
AL_Dif = AtlasLoot_Difficulty;
-- Popup Box for first time users
StaticPopupDialogs["ATLASLOOT_SETUP"] = {
@@ -380,11 +364,15 @@ function AtlasLoot_OnVariablesLoaded()
--Position relevant UI objects for loot browser and set up menu
AtlasLootDefaultFrame_SelectedCategory:SetPoint("TOP", "AtlasLootDefaultFrame_Menu", "BOTTOM", 0, -4);
AtlasLootDefaultFrame_SelectedTable:SetPoint("TOP", "AtlasLootDefaultFrame_SubMenu", "BOTTOM", 0, -4);
AtlasLootDefaultFrame_SelectedTable2:SetPoint("TOP", "AtlasLootDefaultFrame_SubMenu2", "BOTTOM", 0, -4);
AtlasLootDefaultFrame_SelectedCategory:SetText(AL["Choose Table ..."]);
AtlasLootDefaultFrame_SelectedTable:SetText("");
AtlasLootDefaultFrame_SelectedTable2:SetText("");
AtlasLootDefaultFrame_SelectedCategory:Show();
AtlasLootDefaultFrame_SelectedTable:Show();
AtlasLootDefaultFrame_SelectedTable2:Show();
AtlasLootDefaultFrame_SubMenu:Disable();
AtlasLootDefaultFrame_SubMenu2:Disable();
if (AtlasLoot.db.profile.LoadAllLoDStartup == true) then
AtlasLoot_LoadAllModules();
else
@@ -508,59 +496,30 @@ function AtlasLoot_OnLoad()
end
end
--[[
AtlasLoot_GetLoottableHeroic:
Set up checks to see if we have a heroic loot table or not.
Returns: HeroicCheck, HeroicdataID, NonHeroicdataID, BigraidCheck, BigraiddataID, SmallraiddataID, heroname
]]
function AtlasLoot_GetLoottableHeroic(dataID)
local NormalID, HeroicID, Normal25ID, Heroic25ID = nil,nil,nil,nil
local dataSource = AtlasLoot_Data
local englishFaction = UnitFactionGroup("player")
-- remove all Heroic etc infos from the dataID**
dataID = gsub(dataID, "_H", "") -- Horde
dataID = gsub(dataID, "_A", "") -- Alliance
dataID = gsub(dataID, "HEROIC", "") -- Hero Table (10)
dataID = gsub(dataID, "25Man", "") -- 25 Man Table
dataID = gsub(dataID, "25ManHEROIC", "") -- Heroic Table (25)
-- dataID from normal <return>
-- Check tables if Heroic etc exists
if dataSource[dataID] or dataSource[dataID.."_H"] or dataSource[dataID.."_A"] then
NormalID = dataID
if englishFaction == "Horde" and dataSource[NormalID.."_H"] then
NormalID = NormalID.."_H"
elseif englishFaction ~= "Horde" and dataSource[NormalID.."_A"] then
NormalID = NormalID.."_A"
end
end
if dataSource[dataID.."HEROIC"] or dataSource[dataID.."HEROIC".."_H"] or dataSource[dataID.."HEROIC".."_A"] then
HeroicID = dataID.."HEROIC"
if englishFaction == "Horde" and dataSource[HeroicID.."_H"] then
HeroicID = HeroicID.."_H"
elseif englishFaction ~= "Horde" and dataSource[HeroicID.."_A"] then
HeroicID = HeroicID.."_A"
end
end
if dataSource[dataID.."25Man"] or dataSource[dataID.."25Man".."_H"] or dataSource[dataID.."25Man".."_A"] then
Normal25ID = dataID.."25Man"
if englishFaction == "Horde" and dataSource[Normal25ID.."_H"] then
Normal25ID = Normal25ID.."_H"
elseif englishFaction ~= "Horde" and dataSource[Normal25ID.."_A"] then
Normal25ID = Normal25ID.."_A"
end
end
if dataSource[dataID.."25ManHEROIC"] or dataSource[dataID.."25ManHEROIC".."_H"] or dataSource[dataID.."25ManHEROIC".."_A"] then
Heroic25ID = dataID.."25ManHEROIC"
if englishFaction == "Horde" and dataSource[Heroic25ID.."_H"] then
Heroic25ID = Heroic25ID.."_H"
elseif englishFaction ~= "Horde" and dataSource[Heroic25ID.."_A"] then
Heroic25ID = Heroic25ID.."_A"
end
end
return NormalID, HeroicID, Normal25ID, Heroic25ID
end
AtlasLoot_Difficulty = {
-- table of difficuilitys and there itemID references
["ClassicDungeon"] = { {"Normal", "" }, {"Bloodforged", 1 } };
["ClassicDungeonExt"] = { {"Normal", "" }, {"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 }, {"Bloodforged", 1 }, };
["ClassicRaid"] = { {"Normal Flex", "" }, {"Heroic Flex", 3 }, {"Ascended", 4 }, {"Bloodforged", 1 }, };
["BCDungeon"] = { {"Normal/Heroic", "" }, {"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 }, {"Bloodforged", 1 }, };
["BCRaid"] = { {"Normal Flex", "" }, {"Heroic Flex", 3 }, {"Ascended", 4 }, {"Bloodforged", 1 }, };
["WrathDungeon"] = { {"Normal", "" }, {"Mythic", 4 }, {"Mythic1", 5 }, {"Mythic2", 6 }, {"Mythic3", 7 }, {"Mythic4", 8 }, {"Mythic5", 9 }, {"Mythic6", 10 },
{"Mythic7", 11 }, {"Mythic8", 12 }, {"Mythic9", 13 }, {"Mythic10", 14 }, {"Bloodforged", 1 }, };
["WrathRaid"] = { {"Normal Flex", "" }, {"Heroic Flex", 3 }, {"Ascended", 4 }, {"Bloodforged", 1 }, };
["Crafting"] = { {"Crafting Patterns", "" }, {"Item Normal", "=s=Normal" }, {"Bloodforged", 1 }, },
["CraftingExt"] = { {"Crafting Pattern Uncommon", "" }, {"Crafting Patterns Rare", "Rare" }, {"Crafting Patterns Epic", "Epic" }, {"Item Uncommon", "=s=" }, {"Item Rare", "=s=Rare" }, {"Item Epic", "=s=Epic" } }
}
--[[
AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame):
@@ -585,16 +544,11 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
DEFAULT_CHAT_FRAME:AddMessage("No dataID!");
return;
end
--Get AtlasQuest out of the way
if (AtlasQuestInsideFrame) then
HideUIPanel(AtlasQuestInsideFrame);
end
--Hide the toggle to switch between heroic and normal loot tables, we will only show it if required
AtlasLootItemsFrame_Heroic:Hide();
AtlasLoot10Man25ManSwitch:Hide();
--Ditch the Quicklook selector
AtlasLoot_QuickLooks:Hide();
AtlasLootQuickLooksButton:Hide();
@@ -608,7 +562,11 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
dataSource_backup = dataSource;
if dataID == "SearchResult" or dataID == "WishList" then
dataSource = {};
ItemindexID = "";
AtlasLootDefaultFrame_SubMenu2:Disable();
AtlasLootDefaultFrame_SelectedTable2:SetText("");
AtlasLootDefaultFrame_SelectedTable2:Hide();
dataSource = {};
-- Match the page number to display
wlPage = tonumber(dataSource_backup:match("%d+$"));
-- Aquiring items of the page
@@ -623,36 +581,44 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
else
dataSource = AtlasLoot_Data;
end
--Set up checks to see if we have a heroic loot table or not
local NormalID, HeroicID, Normal25ID, Heroic25ID = AtlasLoot_GetLoottableHeroic(dataID)
if AtlasLoot.db.profile.HeroicMode and HeroicID then
dataID = HeroicID
elseif AtlasLoot.db.profile.Bigraid and Normal25ID then
dataID = Normal25ID
elseif AtlasLoot.db.profile.BigraidHeroic and Heroic25ID then
dataID = Heroic25ID
if dataID == "FilterList" then
Type = lastType;
else
if not NormalID then
if Normal25ID and not AtlasLoot.db.profile.HeroicMode then
dataID = Normal25ID
AtlasLoot.db.profile.Bigraid = true
AtlasLoot.db.profile.BigraidHeroic = false
AtlasLoot.db.profile.HeroicMode = false
elseif HeroicID then
dataID = HeroicID
AtlasLoot.db.profile.Bigraid = false
AtlasLoot.db.profile.BigraidHeroic = false
AtlasLoot.db.profile.HeroicMode = true
elseif Heroic25ID then
dataID = Heroic25ID
AtlasLoot.db.profile.Bigraid = false
AtlasLoot.db.profile.BigraidHeroic = true
AtlasLoot.db.profile.HeroicMode = false
end
else
dataID = NormalID
Type = dataSource[dataID].Type;
end
if Type ~= lastType then
AtlasLoot_DifficultyDisable()
if lastReference ~= nil then
dataID = gsub(dataID, lastReference, ""); -- removes old table reference before adding a new 1 if needed
end
ItemindexID = "";
end
if DewDrop2Enable or not dataID == nil or lastReference then
dataID = gsub(dataID, lastReference, ""); -- removes old table reference before adding a new 1 if needed
end
if Type == nil and ATLASLOOT_FILTER_ENABLE == false or dataID:match("MENU") or ATLASLOOT_FILTER_ENABLE and dataSource[AtlasLoot_CurrentBoss].Type == nil then -- disable difficulty menu
AtlasLoot_DifficultyDisable()
AtlasLoot_CurrentBoss = dataID;
elseif ATLASLOOT_FILTER_ENABLE then
AtlasLoot_DifficultyEnable(AtlasLoot_CurrentBoss, dataSource)
elseif Type ~= nil then-- enable difficulty menu
AtlasLoot_DifficultyEnable(dataID, dataSource)
AtlasLoot_CurrentBoss = dataID
end
if isTablereference and not notPattern then -- if the itemID is the item rather from a crafting pattern rather then the pattern itself
dataID = dataID .. tableReference;
DewDrop2Enable = true;
lastReference = tableReference;
elseif isTablereference and notPattern then -- if the itemID is a new table reference rather then and itemID reference
dataID = dataID .. tableReference;
DewDrop2Enable = true;
lastReference = tableReference;
else
DewDrop2Enable = false;
end
--Hide UI objects so that only needed ones are shown
@@ -663,12 +629,12 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
getglobal("AtlasLootItem_"..i).itemID = 0;
getglobal("AtlasLootItem_"..i).spellitemID = 0;
end
if AtlasLoot_TableNames[dataID] ~= nil and AtlasLoot_TableNames[dataID][2] == "Menu" then
AtlasLoot_GenerateAtlasMenu(dataID, pFrame);
return;
end
-- Create the loottable
if (dataID == "SearchResult") or (dataID == "WishList") or (AtlasLoot_IsLootTableAvailable(dataID)) then
@@ -702,35 +668,43 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
if(dataSource[dataID][i][AL_Dif.MIN_DIF] ~= "" and dataSource[dataID][i][AL_Dif.MIN_DIF] > GetDifficultyTier()) then toShow = false end end
--Check for a valid object (that it exists, and that it has a name)
if(dataSource[dataID][i] ~= nil and dataSource[dataID][i][4] ~= "" and toShow) then
if string.sub(dataSource[dataID][i][2], 1, 1) == "s" then
if(dataSource[dataID][i] ~= nil and dataSource[dataID][i][4] ~= "") then
if dataSource[dataID][i][8] and tonumber(ItemindexID) then
-- Used if an item has more then 1 version with the same name eg Atiesh
IDfound = AL_FindId(string.sub(dataSource[dataID][i][4], 5) .. " " .. dataSource[dataID][i][8], ItemindexID) -- Used for 8th table entery in a loottable for when we have items with the same name eg Atiesh
else
-- if something was found in itemID database show that if not show default table item
IDfound = AL_FindId(string.sub(dataSource[dataID][i][4], 5), ItemindexID) or dataSource[dataID][i][2]
end
if string.sub(IDfound, 1, 1) == "s" then
isItem = false;
else
isItem = true;
end
if isItem then
--If difficulty has changed, find new id and set it.
if dif and dataSource[dataID][i][2] ~= 0 then
--Some items have an entry in the Difficulty table but are not in the game
--To deal with this items will need to have variable [AL_Dif.MAX_DIF] set to their max difficulty, this seems to usually be AL_Dif.Normal or AL_Dif.Mythic
if dataSource[dataID][i][AL_Dif.MAX_DIF] ~= nil and dataSource[dataID][i][AL_Dif.MAX_DIF] ~= "" then
dataSource[dataID][i][2] = AL_FindId(string.sub(dataSource[dataID][i][4], 5), math.min(dataSource[dataID].Dif, dataSource[dataID][i][AL_Dif.MAX_DIF])) or dataSource[dataID][i][2];
else
dataSource[dataID][i][2] = AL_FindId(string.sub(dataSource[dataID][i][4], 5), dataSource[dataID].Dif) or dataSource[dataID][i][2]; --No need for negatives anymore :D
end
end
itemName, itemLink, itemQuality, itemLevel, itemMinLevel, itemType, itemSubType, itemCount, itemEquipLoc, itemTexture = GetItemInfo(dataSource[dataID][i][2]);
itemName, itemLink, itemQuality, itemLevel, itemMinLevel, itemType, itemSubType, itemCount, itemEquipLoc, itemTexture = GetItemInfo(IDfound);
--If the client has the name of the item in cache, use that instead.
--This is poor man's localisation, English is replaced be whatever is needed
if(GetItemInfo(dataSource[dataID][i][2])) then
if(GetItemInfo(IDfound)) then
_, _, _, itemColor = GetItemQualityColor(itemQuality);
text = itemColor..itemName;
else
if(GetItemInfo(dataSource[dataID][i][2])) then
if(GetItemInfo(IDfound)) or not dataSource[dataID][i][2] == IDfound then
_, _, _, itemColor = GetItemQualityColor(itemQuality);
text = itemColor..itemName;
elseif dataSource[dataID][i][2] ~= IDfound then
--If the item is not in cache, use the saved value and process it
if tonumber(ItemindexID) then
text = (string.sub(dataSource[dataID][i][4], 5));
text = "=q4=" .. text;
text = AtlasLoot_FixText(text);
else
text = dataSource[dataID][i][4];
text = AtlasLoot_FixText(text);
end
else
--If the item is not in cache, use the saved value and process it
text = dataSource[dataID][i][4];
@@ -738,7 +712,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
end
end
else
spellName, _, spellIcon, _, _, _, _, _, _ = GetSpellInfo(string.sub(dataSource[dataID][i][2], 2));
spellName, _, spellIcon, _, _, _, _, _, _ = GetSpellInfo(string.sub(IDfound, 2));
if spellName then
text = AtlasLoot_FixText(string.sub(dataSource[dataID][i][4], 1, 4)..spellName);
else
@@ -773,7 +747,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
if dataSource[dataID][i][3] == "?" then
iconFrame:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark");
elseif dataSource[dataID][i][3] == "" then
iconFrame:SetTexture(GetItemIcon(dataSource[dataID][i][2]));
iconFrame:SetTexture(GetItemIcon(IDfound));
elseif (not isItem) and (spellIcon) then
if tonumber(dataSource[dataID][i][3]) then
iconFrame:SetTexture(GetItemIcon(tonumber(dataSource[dataID][i][3])));
@@ -796,8 +770,8 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
itemButton.extra = extra;
--Highlight items in the wishlist
if dataSource[dataID][i][2] ~= "" and dataSource[dataID][i][2] ~= 0 and dataID ~= "WishList" and AtlasLootWishList["Options"][UnitName("player")]["Mark"] == true then
local xitemexistwish, itemwishicons = AtlasLoot_WishListCheck(dataSource[dataID][i][2], true)
if IDfound ~= "" and IDfound ~= 0 and dataID ~= "WishList" and AtlasLootWishList["Options"][UnitName("player")]["Mark"] == true then
local xitemexistwish, itemwishicons = AtlasLoot_WishListCheck(IDfound, true)
if xitemexistwish then
text = itemwishicons.." "..text;
end
@@ -806,25 +780,29 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
nameFrame:SetText(text);
extraFrame:SetText(extra);
extraFrame:Show();
--For convenience, we store information about the objects in the objects so that it can be easily accessed later
if((string.sub(dataSource[dataID][i][2], 1, 1) == "s") and (AtlasLoot.db.profile.CraftingLink ~= 1) and (tonumber(dataSource[dataID][i][3]))) then
if((string.sub(IDfound, 1, 1) == "s") and (AtlasLoot.db.profile.CraftingLink ~= 1) and (tonumber(dataSource[dataID][i][3]))) then
itemButton.itemID = dataSource[dataID][i][3];
itemButton.spellitemID = dataSource[dataID][i][3];
else
itemButton.itemID = dataSource[dataID][i][2];
if tonumber(dataSource[dataID][i][3]) then
itemButton.spellitemID = dataSource[dataID][i][3];
else
itemButton.spellitemID = 0;
end
elseif ((string.sub(IDfound, 1, 1) == "s") and notPattern == true and (tonumber(dataSource[dataID][i][3]))) then
itemButton.itemID = dataSource[dataID][i][3];
itemButton.spellitemID = dataSource[dataID][i][3];
else
itemButton.itemID = IDfound;
if tonumber(dataSource[dataID][i][3]) then
itemButton.spellitemID = dataSource[dataID][i][3];
else
itemButton.spellitemID = 0;
end
end
itemButton.iteminfo = {};
if isItem then
itemButton.iteminfo.idcore = itemId;
itemButton.iteminfo.icontexture = GetItemIcon(itemId);
itemButton.storeID = itemId;
itemButton.dressingroomID = itemId;
itemButton.iteminfo.idcore = IDfound;
itemButton.iteminfo.icontexture = IDfound;
itemButton.storeID = IDfound;
itemButton.dressingroomID = IDfound;
else
itemButton.iteminfo.idcore = dataSource[dataID][i][3];
itemButton.iteminfo.icontexture = GetItemIcon(dataSource[dataID][i][3]);
@@ -852,11 +830,15 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
itemButton.i = 1;
itemButton:Show();
if dataSource[dataID][i][2] == 0 then getglobal("AtlasLootItem_"..i.."_Unsafe"):Hide(); end
if IDfound == 0 then getglobal("AtlasLootItem_"..i.."_Unsafe"):Hide(); end
end
end
if dataID ~= "FilterList" then
lastType = dataSource[dataID].Type
end
AtlasLootItemsFrame.refresh = {dataID, dataSource_backup, boss, pFrame};
if dataID ~= "FilterList" then
AtlasLootItemsFrame.refreshOri = {dataID, dataSource_backup, boss, pFrame}
@@ -881,76 +863,23 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
--This is a valid QuickLook, so show the UI objects
AtlasLoot_QuickLooks:Show();
AtlasLootQuickLooksButton:Show();
--Check if difficulties exist, if so show difficulty select buttons
if (dataID ~= "SearchResult" and AtlasLoot_Data[dataID].Dif ~= nil) then
AtlasLootMythicButton.difficulty_type = AtlasLoot_Data[dataID].Type or "Dungeon"
AtlasLootMythicButton:Show();
AtlasLoot_DifficultySelect:Show();
end
if (dataID == "SearchResult" and dataSource[dataID].Dif ~= nil) then
AtlasLootMythicButton.difficulty_type = dataSource[dataID].Type or "Dungeon"
AtlasLootMythicButton:Show();
AtlasLoot_DifficultySelect:Show();
--AtlasLootMythicButton.difficulty_type = AtlasLoot_Data[dataID].Type or "Dungeon"
--AtlasLootMythicButton:Show();
--AtlasLoot_DifficultySelect:Show();
end
if (dataID == "SearchResult" and dataSource[dataID].Dif ~= nil) then
--AtlasLootMythicButton.difficulty_type = dataSource[dataID].Type or "Dungeon"
--AtlasLootMythicButton:Show();
--AtlasLoot_DifficultySelect:Show();
end
-- Show the Filter Check-Box
if dataID ~= "WishList" and dataID ~= "SearchResult" and dataSource_backup ~= "AtlasLootCrafting" then
if dataID ~= "WishList" and dataID ~= "SearchResult" and dataSource_backup ~= "AtlasLootCrafting" then
AtlasLootFilterCheck:Show();
end
--Decide whether to show the Heroic mode toggle
--Checks if a heroic version of the loot table is available.
NormalID, HeroicID, Normal25ID, Heroic25ID = AtlasLoot_GetLoottableHeroic(AtlasLootItemsFrame.refreshOri[1])
if AtlasLoot.db.profile.Bigraid and Normal25ID and NormalID then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Normal Loot"])
AtlasLoot10Man25ManSwitch.lootpage = NormalID
AtlasLoot10Man25ManSwitch:Show()
elseif AtlasLoot.db.profile.BigraidHeroic and Heroic25ID and HeroicID then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Normal Loot"])
AtlasLoot10Man25ManSwitch.lootpage = HeroicID
AtlasLoot10Man25ManSwitch:Show()
elseif AtlasLoot.db.profile.HeroicMode and HeroicID and Heroic25ID then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Heroic/Ascended Loot"]);
AtlasLoot10Man25ManSwitch.lootpage = Heroic25ID
AtlasLoot10Man25ManSwitch:Show();
elseif not AtlasLoot.db.profile.Bigraid and NormalID and Normal25ID then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Heroic/Ascended Loot"]);
AtlasLoot10Man25ManSwitch.lootpage = Normal25ID;
AtlasLoot10Man25ManSwitch:Show();
end
-- Heroic check
if AtlasLoot.db.profile.Bigraid and Normal25ID and Heroic25ID then
AtlasLootItemsFrame_Heroic:Show()
AtlasLootItemsFrame_Heroic:SetChecked(false)
AtlasLootItemsFrame_Heroic:Enable()
elseif AtlasLoot.db.profile.BigraidHeroic and Heroic25ID then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Normal Loot"])
AtlasLootItemsFrame_Heroic:Show()
AtlasLootItemsFrame_Heroic:SetChecked(true)
if Normal25ID then
AtlasLootItemsFrame_Heroic:Enable()
else
AtlasLootItemsFrame_Heroic:Disable()
end
elseif AtlasLoot.db.profile.HeroicMode and HeroicID then
AtlasLootItemsFrame_Heroic:Show()
AtlasLootItemsFrame_Heroic:SetChecked(true)
AtlasLootItemsFrame_Heroic:Enable()
if NormalID then
AtlasLootItemsFrame_Heroic:Enable()
else
AtlasLootItemsFrame_Heroic:Disable()
end
elseif NormalID and HeroicID then
AtlasLootItemsFrame_Heroic:Show()
AtlasLootItemsFrame_Heroic:SetChecked(false)
AtlasLootItemsFrame_Heroic:Enable()
end
--Hide navigation buttons by default, only show what we need
getglobal("AtlasLootItemsFrame_BACK"):Hide();
getglobal("AtlasLootItemsFrame_NEXT"):Hide();
@@ -960,8 +889,8 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
if AtlasLoot_Data[dataID].Dif ~= nil then
local d = AtlasLoot_Data[dataID].Type or "Dungeon"
affix = " ("..AtlasLoot_Difficulty[d][GetDifficultyTier()]..")"
end
AtlasLoot_BossName:SetText(AtlasLoot_TableNames[dataID][1]..affix);
end
AtlasLoot_BossName:SetText(AtlasLoot_TableNames[dataID][1]..affix);
else
AtlasLoot_BossName:SetText(boss);
end
@@ -987,9 +916,10 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
end
if tablebase.Back then
getglobal("AtlasLootItemsFrame_BACK"):Show();
getglobal("AtlasLootItemsFrame_BACK").lootpage = tablebase.Back;
getglobal("AtlasLootItemsFrame_BACK").lootpage = tablebase.Back;
end
end
end
--For Alphamap and Atlas integration, show a 'close' button to hide the loot table and restore the map view
@@ -1004,7 +934,7 @@ function AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame)
if ATLASLOOT_FILTER_ENABLE == true and dataID ~= "FilterList" then
AtlasLoot_HideNoUsableItems()
end
if AtlasLoot.db.profile.ItemAutoQuery then AtlasLoot_QueryLootPage(); end
end
@@ -1084,23 +1014,6 @@ function AtlasLoot_GenerateAtlasMenu(dataID, pFrame)
AtlasLootQuickLooksButton:Hide();
AtlasLootFilterCheck:Hide();
AtlasLootItemsFrame_Heroic:Hide();
AtlasLoot10Man25ManSwitch:Hide();
BigraidCheck=string.sub(dataID, string.len(dataID)-4, string.len(dataID));
BigraiddataID=dataID.."25Man";
if BigraidCheck=="25Man" then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Normal Loot"]);
AtlasLoot10Man25ManSwitch.lootpage = string.sub(dataID, 1, string.len(dataID)-5);
AtlasLoot10Man25ManSwitch:Show();
else
if dataSource[BigraiddataID] then
AtlasLoot10Man25ManSwitch:SetText(AL["Show Heroic/Ascended Loot"]);
AtlasLoot10Man25ManSwitch.lootpage = BigraiddataID;
AtlasLoot10Man25ManSwitch:Show();
end
end
--Hide navigation buttons by default, only show what we need
getglobal("AtlasLootItemsFrame_BACK"):Hide();
getglobal("AtlasLootItemsFrame_NEXT"):Hide();
@@ -1216,76 +1129,6 @@ function AtlasLoot_NavButton_OnClick()
end
end
--[[
AtlasLoot_HeroicModeToggle:
Switches between the heroic and normal versions of a loot page
]]
function AtlasLoot_HeroicModeToggle()
local Heroic
local dataID
if ATLASLOOT_FILTER_ENABLE then
dataID = AtlasLootItemsFrame.refreshOri[1]
else
dataID = AtlasLootItemsFrame.refresh[1]
end
local NormalID, HeroicID, Normal25ID, Heroic25ID = AtlasLoot_GetLoottableHeroic(dataID)
if AtlasLoot.db.profile.Bigraid and Heroic25ID then
AtlasLoot.db.profile.Bigraid = false
AtlasLoot.db.profile.BigraidHeroic = true
dataID = Heroic25ID
elseif AtlasLoot.db.profile.HeroicMode and NormalID then
AtlasLoot.db.profile.HeroicMode = false
dataID = NormalID
elseif AtlasLoot.db.profile.BigraidHeroic and Normal25ID then
AtlasLoot.db.profile.Bigraid = true
AtlasLoot.db.profile.BigraidHeroic = false
dataID = Normal25ID
else
AtlasLoot.db.profile.HeroicMode = true
AtlasLoot.db.profile.Bigraid = false
AtlasLoot.db.profile.BigraidHeroic = false
dataID = HeroicID
end
AtlasLoot_ShowItemsFrame(dataID, AtlasLootItemsFrame.refresh[2], "", AtlasLootItemsFrame.refresh[4]);
end
--[[
AtlasLoot_10Man25ManToggle:
Switches between the heroic and normal versions of a loot page
]]
function AtlasLoot_10Man25ManToggle()
local Lootpage = AtlasLoot10Man25ManSwitch.lootpage;
--Deal with loot filter issue
if ATLASLOOT_FILTER_ENABLE == true then
Lootpage = AtlasLootItemsFrame.refreshOri[1];
end
local NormalID, HeroicID, Normal25ID, Heroic25ID = AtlasLoot_GetLoottableHeroic(Lootpage)
if AtlasLoot.db.profile.Bigraid and Normal25ID then
AtlasLoot.db.profile.Bigraid = false
elseif AtlasLoot.db.profile.BigraidHeroic and Heroic25ID then
AtlasLoot.db.profile.BigraidHeroic = false
AtlasLoot.db.profile.HeroicMode = true
elseif AtlasLoot.db.profile.HeroicMode and HeroicID then
AtlasLoot.db.profile.HeroicMode = false
AtlasLoot.db.profile.BigraidHeroic = true
else
AtlasLoot.db.profile.Bigraid = true
AtlasLoot.db.profile.BigraidHeroic = false
AtlasLoot.db.profile.HeroicMode = false
end
if AtlasLootItemsFrame.refresh then
AtlasLoot_ShowItemsFrame(Lootpage, AtlasLootItemsFrame.refresh[2], "", AtlasLootItemsFrame.refresh[4]);
elseif AtlasLootDefaultFrame:IsVisible() then
AtlasLoot_ShowItemsFrame(Lootpage, AtlasLootItemsFrame.refresh[2], "", { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" });
else
AtlasLoot_ShowItemsFrame(Lootpage, AtlasLootItemsFrame.refresh[2], "", nil);
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
@@ -1530,38 +1373,16 @@ AtlasLoot_DifficultyDungeonSelect(button)
button: Identity of the button pressed to trigger the function
Shows the GUI for choosing Mythic Tier
]]
function AtlasLoot_ShowDifficultySelect(button, difficulty)
local dewdrop = AceLibrary("Dewdrop-2.0");
if dewdrop:IsOpen(button) then
dewdrop:Close(1);
function AL_FindId(name, difficulty)
if ItemIDsDatabase[name] ~= nil then
return ItemIDsDatabase[name][difficulty]
else
local setOptions = function()
for t = 1, #AtlasLoot_Difficulty[difficulty], 1 do
if not (t == 3 and difficulty == "ExDungeon") then
dewdrop:AddLine(
"text", AtlasLoot_Difficulty[difficulty][t],
"tooltipTitle", AtlasLoot_Difficulty[difficulty][t],
"tooltipText", "Swap to Difficulty Level: "..AtlasLoot_Difficulty[difficulty][t],
"func", function()
SetDifficultyTier(t)
if AtlasLootItemsFrame:IsVisible() and AtlasLootItemsFrame.refresh then
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
end
dewdrop:Close(1);
end
);
end
end
end;
dewdrop:Open(button,
'point', function(parent)
return "TOPLEFT", "TOPRIGHT";
end,
"children", setOptions
);
return nil;
end
end
function GetDifficultyTier()
return AtlasLoot.db.profile.MythicPlussTier
end
@@ -1569,102 +1390,3 @@ end
function SetDifficultyTier(difficulty)
AtlasLoot.db.profile.MythicPlussTier = difficulty;
end
--Mass Query Items
--Sorry if this looks messy might cleanup later
function QueryItems(instance, difficulty, expansion)
if instance == "help" then
print("Instance types are: \"Dungeon\", \"Raid\"");
print("Difficulty types are: AL_Dif.Bloodforged, AL_Dif.Normal, AL_Dif.Heroic, AL_Dif.Mythic, AL_Dif.MythicPlus[1-10]");
print("Expansion options are: \"classic\" and \"tbc\"");
print("Example: QueryItems(\"Dungeon\", AL_Dif.MythicPlus[6]) - This will query all classic dungeons Mythic+ 6 items");
print("Example: QueryItems(\"Dungeon\", AL_Dif.MythicPlus[6], \"tbc\") - This will query all tbc dungeons Mythic+ 6 items");
return
end
--Expansion select enums to make arguments easier to use
local ex_sel = {
["classic"] = AL["Classic Instances"];
["tbc"] = AL["BC Instances"];
}
--Setup ranges so we arent parsing unwanted instance pages
local range = {
["classic"] = {
["Raid"] = {2, 8},
["Dungeon"] = {10, 29}
},
["tbc"] = {
["Raid"] = {2, 10},
["Dungeon"] = {12, 27}
}
}
--Setup defualts if the arguments are not set or nil
if expansion == nil or ex_sel[expansion] == nil then expansion = "classic" end
if instance == nil then instance = "Dungeon" end
--TBC dungeon types are ExDungeon, i only want one argument type so we swap it here
if instance == "Dungeon" and expansion == "tbc" then instance = "ExDungeon" end
if difficulty == nil then difficulty = AL_Dif.Normal end
--We parse a drop down menu, they are setup weird so we have to check for expansion twice in the arry once as a number second as a Global Var
local _men = 1
if expansion == "tbc" then _men = 2 end;
if instance == "Raid" then difficulty = math.min(AL_Dif.Ascended, difficulty) end
for i = range[expansion][instance][1], range[expansion][instance][2] do
local inst = "";
--DireMaul is in an another drop down list so instead what we can do is utilize instance ids we won't be querying
if i == 14 and expansion == "classic" then inst = "DireMaulNorth" elseif i == 15 and expansion == "classic" then inst = "DireMaulEast" elseif i == 16 and expansion == "classic" then inst = "DireMaulWest"
else
inst = AtlasLoot_DewDropDown[_men][ex_sel[expansion]][i][1][2]
end
if (inst ~= nil and AtlasLoot_DewDropDown_SubTables[inst] ~= nil) then
for b = 1, #AtlasLoot_DewDropDown_SubTables[inst] do
local boss = AtlasLoot_DewDropDown_SubTables[inst][b][2];
if(AtlasLoot_Data[boss] ~= nil and AtlasLoot_Data[boss].Type ~= nil and AtlasLoot_Data[boss].Type == instance) then
local n = 1;
local querytime = 0;
local now = 0;
while n < 31 do
now = GetTime();
if now - querytime > 0.01 then
querytime = GetTime();
if(AtlasLoot_Data[boss][n] ~= nil) then
local queryitem = AL_FindId(string.sub(AtlasLoot_Data[boss][n][4], 5), difficulty) or AtlasLoot_Data[boss][n][2];
if (queryitem) and (queryitem ~= nil) and (queryitem ~= "") and (queryitem ~= 0) and (string.sub(queryitem, 1, 1) ~= "s") then
AtlasLootTooltip:SetHyperlink("item:"..queryitem..":0:0:0:0:0:0:0");
end
end
n = n + 1;
end
end
end
end
elseif AtlasLoot_DewDropDown[_men][ex_sel[expansion]][i][1][3] == "Table" then
if(AtlasLoot_Data[inst] ~= nil and AtlasLoot_Data[inst].Type ~= nil and AtlasLoot_Data[inst].Type == instance) then
local n = 1;
local querytime = 0;
local now = 0;
while n < 31 do
now = GetTime();
if now - querytime > 0.01 then
querytime = GetTime();
if(AtlasLoot_Data[inst][n] ~= nil) then
local queryitem = AL_FindId(string.sub(AtlasLoot_Data[inst][n][4], 5), difficulty) or AtlasLoot_Data[inst][n][2];
if (queryitem) and (queryitem ~= nil) and (queryitem ~= "") and (queryitem ~= 0) and (string.sub(queryitem, 1, 1) ~= "s") then
AtlasLootTooltip:SetHyperlink("item:"..queryitem..":0:0:0:0:0:0:0");
end
end
n = n + 1;
end
end
end
end
end
print("You may need to reload your UI to finalize the Query")
end
+1 -63
View File
@@ -11,6 +11,7 @@
<Script file="AtlasLoot.lua"/>
<Script file="WishList.lua"/>
<Script file="Search.lua"/>
<Script file="ItemIDsDatabase.lua"/>
<GameTooltip name="AtlasLootTooltip" inherits="GameTooltipTemplate" parent="UIParent" hidden="true"/>
@@ -565,47 +566,6 @@
<Button name="AtlasLootMenuItem_30" inherits="AtlasLootMenuItem_Template" id="30">
<Anchors><Anchor point="TOPLEFT" relativeTo="AtlasLootItem_29" relativePoint="BOTTOMLEFT"/></Anchors>
</Button>
<Button name="AtlasLoot10Man25ManSwitch" inherits="OptionsButtonTemplate">
<Size>
<AbsDimension x="160" y="23"/>
</Size>
<Anchors>
<Anchor point="BOTTOM" relativeTo="$parent" relativePoint="BOTTOM">
<Offset>
<AbsDimension x="-120" y="4"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
</OnShow>
<OnClick>
AtlasLoot_10Man25ManToggle();
</OnClick>
</Scripts>
</Button>
<CheckButton name="$parent_Heroic" inherits="OptionsCheckButtonTemplate" hidden="true">
<Anchors>
<Anchor point="BOTTOM" relativeTo="$parent" relativePoint="BOTTOM">
<Offset>
<AbsDimension x="-185" y="24"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnShow>
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
<OnLoad>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
getglobal(this:GetName().."Text"):SetText(AL["Ascended Mode"]);
</OnLoad>
<OnClick>
AtlasLoot_HeroicModeToggle();
</OnClick>
</Scripts>
</CheckButton>
<Button name="$parent_BACK" inherits="AtlasLootClassButtonTemplate" hidden="true">
<Anchors>
<Anchor point="BOTTOM" relativeTo="$parent" relativePoint="BOTTOM">
@@ -1131,28 +1091,6 @@
</Anchor>
</Anchors>
</Button>
<Button name="AtlasLoot_SelectMythicPlussTier" inherits="UIDropDownMenuTemplate">
<Layers>
<Layer level="BACKGROUND">
<FontString name="$parent_Label" inherits="GameFontNormalSmall">
<Anchors>
<Anchor point="RIGHT" relativePoint="LEFT">
<Offset>
<AbsDimension x="15" y="2"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="30" y="-250"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Slider name="$ParentLootBrowserScale" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="240" y="16"/>
+2
View File
@@ -221,11 +221,13 @@ function AtlasLoot_HideNoUsableItems()
AtlasLoot_TableNames["FilterList"] = {AtlasLoot_TableNames[dataID][1],AtlasLoot_TableNames[dataID][2]};
AtlasLoot_ShowItemsFrame("FilterList", "AtlasLootFilter", "", AtlasLootItemsFrame.refresh[4])
Type = lastType
end
function AtlasLoot_FilterEnableButton()
if ATLASLOOT_FILTER_ENABLE == true then
ATLASLOOT_FILTER_ENABLE = false
ReEnableFilter = false
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4])
else
ATLASLOOT_FILTER_ENABLE = true
File diff suppressed because it is too large Load Diff
+25 -24
View File
@@ -237,7 +237,7 @@ function AtlasLoot_CreateOptionsInfoTooltips()
AtlasLoot_AddTooltip("AtlasLootOptionsFrame_FuBarShow", nil) -- AL["Show FuBar Plugin"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrame_FuBarHide", nil) -- AL["Hide FuBar Plugin"]
AtlasLoot_AddTooltip("AtlasLoot_SelectLootBrowserStyle", nil)
AtlasLoot_AddTooltip("AtlasLoot_SelectMythicPlussTier", nil)
--AtlasLoot_AddTooltip("AtlasLoot_SelectMythicPlussTier", nil)
end
function AtlasLoot_OptionsOnShow()
@@ -249,10 +249,10 @@ function AtlasLoot_OptionsOnShow()
UIDropDownMenu_Initialize(AtlasLoot_CraftingLink, AtlasLoot_CraftingLink_Initialize);
UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, AtlasLoot.db.profile.CraftingLink);
UIDropDownMenu_SetWidth(AtlasLoot_CraftingLink, 150);
AtlasLoot_SelectMythicPlussTier_Label:SetText(AL["Select Mythic Pluss Tier:"]);
UIDropDownMenu_Initialize(AtlasLoot_SelectMythicPlussTier, AtlasLoot_SelectMythicPlussTier_Initialize);
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectMythicPlussTier, AtlasLoot.db.profile.MythicPlussTier);
UIDropDownMenu_SetWidth(AtlasLoot_SelectMythicPlussTier, 150);
-- AtlasLoot_SelectMythicPlussTier_Label:SetText(AL["Select Mythic Pluss Tier:"]);
-- UIDropDownMenu_Initialize(AtlasLoot_SelectMythicPlussTier, AtlasLoot_SelectMythicPlussTier_Initialize);
-- UIDropDownMenu_SetSelectedID(AtlasLoot_SelectMythicPlussTier, AtlasLoot.db.profile.MythicPlussTier);
-- UIDropDownMenu_SetWidth(AtlasLoot_SelectMythicPlussTier, 150);
end
function AtlasLoot_SelectLootBrowserStyle_Initialize()
@@ -305,28 +305,29 @@ function AtlasLoot_CraftingLink_OnClick()
AtlasLoot_OptionsOnShow();
end
function AtlasLoot_SelectMythicPlussTier_Initialize()
local info;
-- function AtlasLoot_SelectMythicPlussTier_Initialize()
-- local info;
for t = 0, 10, 1 do
info = {
text = AL["Mythic Tier "..t];
func = AtlasLoot_MythicPlussTier_OnClick;
};
UIDropDownMenu_AddButton(info);
end
-- for t = 0, 10, 1 do
-- info = {
-- text = AL["Mythic Tier "..t];
-- func = AtlasLoot_MythicPlussTier_OnClick;
-- };
-- UIDropDownMenu_AddButton(info);
-- end
end
-- end
function AtlasLoot_MythicPlussTier_OnClick()
local thisID = this:GetID();
UIDropDownMenu_SetSelectedID(AtlasLoot_SelectMythicPlussTier, thisID);
AtlasLoot.db.profile.MythicPlussTier = thisID;
if AtlasLootItemsFrame:IsVisible() and AtlasLootItemsFrame.refresh then
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
end
AtlasLoot_OptionsOnShow();
end
-- function AtlasLoot_MythicPlussTier_OnClick()
-- local thisID = this:GetID();
-- UIDropDownMenu_SetSelectedID(AtlasLoot_SelectMythicPlussTier, thisID);
-- AtlasLoot.db.profile.MythicPlussTier = thisID;
-- if AtlasLootItemsFrame:IsVisible() and AtlasLootItemsFrame.refresh then
-- Mythic_Reload();
-- AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
-- end
-- AtlasLoot_OptionsOnShow();
-- end
local Authors = {
["Calî"] = "Arthas",
+131 -23
View File
@@ -1,10 +1,12 @@
--[[
Functions:
AtlasLoot_DewDropClick(tablename, text, tabletype)
AtlasLoot_DewDropClick(tablename, text, tabletype, tabletype2)
AtlasLoot_DewDropSubMenuClick(tablename, text)
AtlasLoot_DewDropSubMenu2Click(tablename, text)
AtlasLoot_DefaultFrame_OnShow()
AtlasLootDefaultFrame_OnHide()
AtlasLoot_DewdropSubMenuRegister(loottable)
AtlasLoot_DewdropSubMenu2Register(loottable)
AtlasLoot_DewdropRegister()
AtlasLoot_SetNewStyle(style)
]]
@@ -18,50 +20,52 @@ local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
--Load the 2 dewdrop menus
AtlasLoot_Dewdrop = AceLibrary("Dewdrop-2.0");
AtlasLoot_DewdropSubMenu = AceLibrary("Dewdrop-2.0");
AtlasLoot_DewdropSubMenu2 = AceLibrary("Dewdrop-2.0");
indexID = 2
ItemindexID = ""
AtlasLoot_Data["AtlasLootFallback"] = {
EmptyInstance = {};
};
--[[
AtlasLoot_DewDropClick(tablename, text, tabletype):
AtlasLoot_DewDropClick(tablename, text, tabletype, tabletype2):
tablename - Name of the loot table in the database
text - Heading for the loot table
tabletype - Whether the tablename indexes an actual table or needs to generate a submenu
tabletype2 - Whether the tablename indexes an actual second submenu
Called when a button in AtlasLoot_Dewdrop is clicked
]]
function AtlasLoot_DewDropClick(tablename, text, tabletype)
--Definition of where I want the loot table to be shown
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
--If the button clicked was linked to a loot table
if tabletype == "Table" then
--Show the loot table
if tabletype == "Table" then
--Show the loot table
AtlasLoot_ShowItemsFrame(tablename, "", text, pFrame);
--Save needed info for fuure re-display of the table
--Save needed info for fuure re-display of the table
AtlasLoot.db.profile.LastBoss = tablename;
--Purge the text label for the submenu and disable the submenu
AtlasLootDefaultFrame_SubMenu:Disable();
AtlasLootDefaultFrame_SelectedTable:SetText("");
AtlasLootDefaultFrame_SelectedTable:Show();
--If the button links to a sub menu definition
else
--Enable the submenu button
else
--Enable the submenu button
AtlasLootDefaultFrame_SubMenu:Enable();
--Show the first loot table associated with the submenu
AtlasLoot_ShowBossLoot(AtlasLoot_DewDropDown_SubTables[tablename][1][2], AtlasLoot_DewDropDown_SubTables[tablename][1][1], pFrame);
--Save needed info for fuure re-display of the table
AtlasLoot.db.profile.LastBoss = AtlasLoot_DewDropDown_SubTables[tablename][1][2];
--Save needed info for fuure re-display of the table
AtlasLoot.db.profile.LastBoss = AtlasLoot_DewDropDown_SubTables[tablename][1][2];
--Load the correct submenu and associated with the button
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenuRegister(AtlasLoot_DewDropDown_SubTables[tablename]);
--Show a text label of what has been selected
--Show a text label of what has been selected
if AtlasLoot_DewDropDown_SubTables[tablename][1][1] ~= "" then
AtlasLootDefaultFrame_SelectedTable:SetText(AtlasLoot_DewDropDown_SubTables[tablename][1][1]);
else
AtlasLootDefaultFrame_SelectedTable:SetText(AtlasLoot_TableNames[AtlasLoot_DewDropDown_SubTables[tablename][1][2]][1]);
end
AtlasLootDefaultFrame_SelectedTable:Show();
AtlasLootDefaultFrame_SelectedTable:Show();
end
--Show the category that has been selected
AtlasLootDefaultFrame_SelectedCategory:SetText(text);
@@ -129,27 +133,121 @@ function AtlasLootDefaultFrame_OnHide()
AtlasLoot_DewdropSubMenu:Close(1);
end
--[[
AtlasLoot_DewdropSubMenuRegister(loottable):
loottable - Table defining the sub menu
Generates the sub menu needed by passing a table of loot tables and titles
]]
function AtlasLoot_DewdropSubMenuRegister(loottable)
AtlasLoot_DewdropSubMenu:Register(AtlasLootDefaultFrame_SubMenu,
function AtlasLoot_DewDropSubMenu2Click(raidtablename, itemID)
if ATLASLOOT_FILTER_ENABLE == true then
AtlasLoot_FilterEnableButton()
ReEnableFilter = true
end
-- gets itemID reference
AtlasLootDefaultFrame_GetRaidDifficulty(raidtablename, itemID)
--Show the select loot table
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4]);
--Set text for difficulty
AtlasLootDefaultFrame_SelectedTable2:SetText(DropTablename);
AtlasLootDefaultFrame_SelectedTable2:Show();
AtlasLoot_DewdropSubMenu2:Close(1);
if ReEnableFilter then
AtlasLoot_FilterEnableButton()
end
end
function AtlasLoot_DifficultyDisable()
isTablereference = false
notPattern = false
AtlasLoot_DewdropSubMenu2:Unregister(AtlasLootDefaultFrame_SubMenu2);
AtlasLootDefaultFrame_SubMenu2:Disable();
AtlasLootDefaultFrame_SelectedTable2:SetText("");
AtlasLootDefaultFrame_SelectedTable2:Hide();
DewDrop2Enable = false
SelectedTable2TextSet = false
end
function AtlasLoot_DifficultyEnable(dataID, dataSource)
AtlasLootDefaultFrame_SubMenu2:Enable();
AtlasLoot_DewdropSubMenu2:Unregister(AtlasLootDefaultFrame_SubMenu2);
AtlasLoot_DewdropSubMenu2Register(AtlasLoot_Difficulty[dataSource[dataID].Type]);
if SelectedTable2TextSet == false then
AtlasLootDefaultFrame_SelectedTable2:SetText(AtlasLoot_Difficulty[dataSource[dataID].Type][1][1])
end
AtlasLootDefaultFrame_SelectedTable2:Show();
SelectedTable2TextSet = true
end
function AtlasLootDefaultFrame_GetRaidDifficulty(raidtablename, itemID)
if tonumber(itemID) then --used in itemID search feature for itemID database
ItemindexID = itemID;
isTablereference = false;
notPattern = false;
elseif itemID:match("=s=") then -- =s= infront of a table reference will make it show a normal crafting item instead of a crafting pattern
newID = gsub(itemID, "=s=",""); -- removes =s= before passing the extra table addition
newID = gsub(newID, "Normal","");
tableReference = newID;
isTablereference = true;
notPattern = true;
ItemindexID = "";
else
newID = gsub(itemID, "=s=","");
newID = gsub(newID, "Normal","");
tableReference = newID;
isTablereference = true;
notPattern = false;
ItemindexID = "";
end
DropTablename = raidtablename;
end
function AtlasLoot_DewdropSubMenu2Register(loottable)
AtlasLoot_DewdropSubMenu2:Register(AtlasLootDefaultFrame_SubMenu2,
'point', function(parent)
return "TOP", "BOTTOM"
end,
'children', function(level, value)
if level == 1 then
for k,v in pairs(loottable) do
if v[1] == "" then
AtlasLoot_DewdropSubMenu:AddLine(
AtlasLoot_DewdropSubMenu2:AddLine(
'text', v[1],
'func', AtlasLoot_DewDropSubMenu2Click,
'arg1', v[1],
'arg2', v[2],
'notCheckable', true
)
end
AtlasLoot_DewdropSubMenu2:AddLine(
'text', AL["Close Menu"],
'textR', 0,
'textG', 1,
'textB', 1,
'func', function() AtlasLoot_DewdropSubMenu2:Close() end,
'notCheckable', true
)
end
end,
'dontHook', true
)
end
--[[
AtlasLoot_DewdropSubMenuRegister(loottable):
loottable - Table defining the sub menu
Generates the sub menu needed by passing a table of loot tables and titles
]]
function AtlasLoot_DewdropSubMenuRegister(loottable)
AtlasLoot_DewdropSubMenu:Register(AtlasLootDefaultFrame_SubMenu,
'point', function(parent)
return "TOP", "BOTTOM"
end,
'children', function(level, value)
if level == 1 then
for k,v in pairs(loottable) do
if v[1] == "" then
AtlasLoot_DewdropSubMenu:AddLine(
'text', AtlasLoot_TableNames[v[2]][1],
'func', AtlasLoot_DewDropSubMenuClick,
'arg1', v[2],
'arg2', v[1],
'notCheckable', true
)
else
AtlasLoot_DewdropSubMenu:AddLine(
'text', v[1],
@@ -200,6 +298,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'arg4', v[1][4],
'notCheckable', true
)
elseif v[1][3] == "Table" and v[1][1] ~= "" then
@@ -212,6 +311,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'arg4', v[1][4],
'notCheckable', true
)
end
@@ -261,6 +361,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'arg4', v[1][4],
'notCheckable', true
)
elseif v[1][3] == "Submenu" then
@@ -273,6 +374,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'arg4', v[1][4],
'notCheckable', true
)
--An entry to show a specific loot page
@@ -286,6 +388,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'arg4', v[1][4],
'notCheckable', true
)
else
@@ -298,6 +401,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'arg4', v[1][4],
'notCheckable', true
)
end
@@ -346,6 +450,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[2],
'arg2', v[1],
'arg3', v[3],
'arg4', v[4],
'notCheckable', true
)
elseif v[3] == "Table" and v[1] == "" then
@@ -358,6 +463,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[2],
'arg2', v[1],
'arg3', v[3],
'arg4', v[4],
'notCheckable', true
)
else
@@ -370,6 +476,7 @@ function AtlasLoot_DewdropRegister()
'arg1', v[2],
'arg2', v[1],
'arg3', v[3],
'arg4', v[4],
'notCheckable', true
)
end
@@ -413,6 +520,7 @@ function AtlasLoot_SetNewStyle(style)
"AtlasLootDefaultFrame_LoadModules",
"AtlasLootDefaultFrame_Menu",
"AtlasLootDefaultFrame_SubMenu",
"AtlasLootDefaultFrame_SubMenu2",
"AtlasLootDefaultFrame_Preset1",
"AtlasLootDefaultFrame_Preset2",
"AtlasLootDefaultFrame_Preset3",
@@ -89,7 +89,7 @@
<Anchors>
<Anchor point="TOP" relativeTo="$parent" relativePoint="TOP">
<Offset>
<AbsDimension x="-130" y="-40"/>
<AbsDimension x="-160" y="-40"/>
</Offset>
</Anchor>
</Anchors>
@@ -115,7 +115,7 @@
<Anchors>
<Anchor point="TOP" relativeTo="$parent" relativePoint="TOP">
<Offset>
<AbsDimension x="130" y="-40"/>
<AbsDimension x="0" y="-40"/>
</Offset>
</Anchor>
</Anchors>
@@ -134,6 +134,32 @@
</OnShow>
</Scripts>
</Button>
<Button name="$parent_SubMenu2" inherits="OptionsButtonTemplate">
<Size>
<AbsDimension x="130" y="20"/>
</Size>
<Anchors>
<Anchor point="TOP" relativeTo="$parent" relativePoint="TOP">
<Offset>
<AbsDimension x="160" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
if AtlasLoot_DewdropSubMenu2:IsOpen() then
AtlasLoot_DewdropSubMenu2:Close();
else
AtlasLoot_DewdropSubMenu2:Open(this);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Select Difficulty"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
<Frame name="$parent_LootBackground">
<Size>
<AbsDimension x="515" y="515"/>
@@ -499,6 +525,15 @@
</Anchor>
</Anchors>
</FontString>
<FontString name="$parent_SelectedTable2" inherits="GameFontNormal" text="Cannot read files">
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="0" y="-50"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Scripts>
+58 -54
View File
@@ -19,25 +19,25 @@ AtlasLoot_DewDropDown = {
{ "Raids:", "OldKeys", "Table", "Header" },
},
[2] = {
{ BabbleZone["Molten Core"], "MoltenCore", "Submenu" },
{ BabbleZone["Molten Core"], "MoltenCore", "Submenu" },
},
[3] = {
{ BabbleZone["Zul'Gurub"], "ZulGurub", "Submenu" },
{ BabbleZone["Zul'Gurub"], "ZulGurub", "Submenu" },
},
[4] = {
{ BabbleZone["Onyxia's Lair"], "Onyxia60", "Table" },
{ BabbleZone["Onyxia's Lair"], "Onyxia60", "Table" },
},
[5] = {
{ BabbleZone["Blackwing Lair"], "BlackwingLair", "Submenu" },
{ BabbleZone["Blackwing Lair"], "BlackwingLair", "Submenu" },
},
[6] = {
{ BabbleZone["Ruins of Ahn'Qiraj"], "RuinsofAQ", "Submenu" },
{ BabbleZone["Ruins of Ahn'Qiraj"], "RuinsofAQ", "Submenu" },
},
[7] = {
{ BabbleZone["Temple of Ahn'Qiraj"], "TempleofAQ", "Submenu" },
{ BabbleZone["Temple of Ahn'Qiraj"], "TempleofAQ", "Submenu" },
},
[8] = {
{ BabbleZone["Naxxramas"], "Naxxramas60", "Submenu" },
{ BabbleZone["Naxxramas"], "Naxxramas60", "Submenu" },
},
[9] = {
{ "Dungeons:", "OldKeys", "Table", "Header" },
@@ -46,7 +46,7 @@ AtlasLoot_DewDropDown = {
{ BabbleZone["Blackfathom Deeps"], "BlackfathomDeeps1", "Table" },
},
[11] = {
{ BabbleZone["Blackrock Depths"], "BlackrockDepths", "Submenu" },
{ BabbleZone["Blackrock Depths"], "BlackrockDepths", "Submenu" },
},
[12] = {
{ BabbleZone["Lower Blackrock Spire"], "LowerBlackrock", "Submenu" },
@@ -59,52 +59,52 @@ AtlasLoot_DewDropDown = {
},
[15] = {
[BabbleZone["Dire Maul"]] = {
{ BabbleZone["Dire Maul (East)"], "DireMaulEast", "Submenu" },
{ BabbleZone["Dire Maul (West)"], "DireMaulWest", "Submenu" },
{ BabbleZone["Dire Maul (North)"], "DireMaulNorth", "Submenu" },
{ BabbleZone["Dire Maul (East)"], "DireMaulEast", "Submenu" },
{ BabbleZone["Dire Maul (West)"], "DireMaulWest", "Submenu" },
{ BabbleZone["Dire Maul (North)"], "DireMaulNorth", "Submenu" },
},
},
[16] = {
{ BabbleZone["Gnomeregan"], "Gnomeregan1", "Table" },
{ BabbleZone["Gnomeregan"], "Gnomeregan1", "Table" },
},
[17] = {
{ BabbleZone["Maraudon"], "Maraudon1", "Table" },
{ BabbleZone["Maraudon"], "Maraudon1", "Table" },
},
[18] = {
{ BabbleZone["Ragefire Chasm"], "RagefireChasm", "Table" },
{ BabbleZone["Ragefire Chasm"], "RagefireChasm", "Table" },
},
[19] = {
{ BabbleZone["Razorfen Downs"], "RazorfenDowns1", "Table" },
{ BabbleZone["Razorfen Downs"], "RazorfenDowns1", "Table" },
},
[20] = {
{ BabbleZone["Razorfen Kraul"], "RazorfenKraul1", "Table" },
{ BabbleZone["Razorfen Kraul"], "RazorfenKraul1", "Table" },
},
[21] = {
{ BabbleZone["Scarlet Monastery"], "Scarlet Monastery", "Submenu" },
{ BabbleZone["Scarlet Monastery"], "Scarlet Monastery", "Submenu" },
},
[22] = {
{ BabbleZone["Scholomance"], "Scholomance", "Submenu" },
{ BabbleZone["Scholomance"], "Scholomance", "Submenu" },
},
[23] = {
{ BabbleZone["Shadowfang Keep"], "ShadowfangKeep1", "Table" },
{ BabbleZone["Shadowfang Keep"], "ShadowfangKeep1", "Table" },
},
[24] = {
{ BabbleZone["The Stockade"], "TheStockade", "Table" },
{ BabbleZone["The Stockade"], "TheStockade", "Table" },
},
[25] = {
{ BabbleZone["Stratholme"], "Stratholme", "Submenu" },
{ BabbleZone["Stratholme"], "Stratholme", "Submenu" },
},
[26] = {
{ BabbleZone["The Temple of Atal'Hakkar"], "SunkenTemple", "Submenu" },
{ BabbleZone["The Temple of Atal'Hakkar"], "SunkenTemple", "Submenu" },
},
[27] = {
{ BabbleZone["Uldaman"], "Uldaman", "Submenu" },
{ BabbleZone["Uldaman"], "Uldaman", "Submenu" },
},
[28] = {
{ BabbleZone["Wailing Caverns"], "WailingCaverns1", "Table" },
{ BabbleZone["Wailing Caverns"], "WailingCaverns1", "Table" },
},
[29] = {
{ BabbleZone["Zul'Farrak"], "ZulFarrak", "Submenu" },
{ BabbleZone["Zul'Farrak"], "ZulFarrak", "Submenu" },
},
},
},
@@ -115,31 +115,31 @@ AtlasLoot_DewDropDown = {
{ "Raids:", "BCKeys", "Table", "Header" },
},
[2] = {
{ BabbleZone["Karazhan"], "Karazhan", "Submenu" },
{ BabbleZone["Karazhan"], "Karazhan", "Submenu" },
},
[3] = {
{ BabbleZone["Gruul's Lair"], "Gruul", "Submenu" },
{ BabbleZone["Gruul's Lair"], "Gruul", "Submenu" },
},
[4] = {
{ BabbleZone["Magtheridon's Lair"], "HCMagtheridon", "Table" },
},
[5] = {
{ BabbleZone["Zul'Aman"], "ZulAman", "Submenu" },
{ BabbleZone["Zul'Aman"], "ZulAman", "Submenu" },
},
[6] = {
{ BabbleZone["Serpentshrine Cavern"], "CFRSerpentshrine", "Submenu" },
{ BabbleZone["Serpentshrine Cavern"], "CFRSerpentshrine", "Submenu" },
},
[7] = {
{ BabbleZone["The Eye"], "TKEye", "Submenu" },
{ BabbleZone["The Eye"], "TKEye", "Submenu" },
},
[8] = {
{ BabbleZone["Hyjal Summit"], "CoTHyjal", "Submenu" },
{ BabbleZone["Hyjal Summit"], "CoTHyjal", "Submenu" },
},
[9] = {
{ BabbleZone["Black Temple"], "BlackTemple", "Submenu" },
{ BabbleZone["Black Temple"], "BlackTemple", "Submenu" },
},
[10] = {
{ BabbleZone["Sunwell Plateau"], "SunwellPlateau", "Submenu" },
{ BabbleZone["Sunwell Plateau"], "SunwellPlateau", "Submenu" },
},
---- Dungeons -----
@@ -250,63 +250,61 @@ AtlasLoot_DewDropDown = {
{ BabbleZone["The Forge of Souls"], "ForgeofSouls", "Submenu" },
},
[17] = {
{ BabbleZone["Gundrak"], "Gundrak", "Submenu" },
{ BabbleZone["Gundrak"], "Gundrak", "Submenu" },
},
[18] = {
{ BabbleZone["Halls of Lightning"], "HallsofLightning", "Submenu" },
{ BabbleZone["Halls of Lightning"], "HallsofLightning", "Submenu" },
},
[19] = {
{ BabbleZone["Halls of Reflection"], "HallsofReflection", "Submenu" },
{ BabbleZone["Halls of Reflection"], "HallsofReflection", "Submenu" },
},
[20] = {
{ BabbleZone["Halls of Stone"], "HallsofStone", "Submenu" },
{ BabbleZone["Halls of Stone"], "HallsofStone", "Submenu" },
},
[21] = {
{ BabbleZone["The Nexus"], "TheNexus", "Submenu" },
{ BabbleZone["The Nexus"], "TheNexus", "Submenu" },
},
[22] = {
{ BabbleZone["The Oculus"], "TheOculus", "Submenu" },
{ BabbleZone["The Oculus"], "TheOculus", "Submenu" },
},
[23] = {
{ BabbleZone["Pit of Saron"], "PitofSaron", "Submenu" },
{ BabbleZone["Pit of Saron"], "PitofSaron", "Submenu" },
},
[24] = {
{ BabbleZone["Trial of the Champion"], "TrialoftheChampion", "Submenu" },
{ BabbleZone["Trial of the Champion"], "TrialoftheChampion", "Submenu" },
},
[25] = {
{ BabbleZone["Utgarde Keep"], "UtgardeKeep", "Submenu" },
{ BabbleZone["Utgarde Keep"], "UtgardeKeep", "Submenu" },
},
[26] = {
{ BabbleZone["Utgarde Pinnacle"], "UtgardePinnacle", "Submenu" },
{ BabbleZone["Utgarde Pinnacle"], "UtgardePinnacle", "Submenu" },
},
[27] = {
{ BabbleZone["The Violet Hold"], "TheVioletHold", "Submenu" },
{ BabbleZone["The Violet Hold"], "TheVioletHold", "Submenu" },
},
},
},
[4] = {
{ AL["Crafting"], "CRAFTINGMENU", "Table" },
{ AL["Crafting"], "CRAFTINGMENU", "Table", "Submenu2Table" },
},
[5] = {
{ AL["Sets/Collections"], "SETMENU", "Table" },
{ AL["Sets/Collections"], "SETMENU", "Table", "Submenu2Table" },
},
[6] = {
{ AL["PvP Rewards"], "PVPMENU", "Table" },
{ AL["PvP Rewards"], "PVPMENU", "Table", "Submenu2Table" },
},
[7] = {
{ AL["World Bosses"], "WorldBosses", "Submenu" },
{ AL["World Bosses"], "WorldBosses", "Submenu", "Submenu2Table" },
},
[8] = {
{ AL["Reputation Factions"], "REPMENU", "Table" },
{ AL["Reputation Factions"], "REPMENU", "Table", "Submenu2Table" },
},
[9] = {
{ AL["World Events"], "WORLDEVENTMENU", "Table" },
{ AL["World Events"], "WORLDEVENTMENU", "Table", "Submenu2Table" },
},
};
--This table defines all the subtables needed for the full menu
--Each sub table entry contains the text entry and the loot table that goes wih it
AtlasLoot_DewDropDown_SubTables = {
["BlackrockDepths"] = {
{ "", "BRDPyron" },
@@ -538,6 +536,7 @@ AtlasLoot_DewDropDown_SubTables = {
{ "", "CoTHillsbradDrake" },
{ "", "CoTHillsbradSkarloc" },
{ "", "CoTHillsbradHunter" },
{ "", "CoTHillsbradHunterHeroic" },
{ AL["Trash Mobs"], "CoTTrash" },
},
["CoTBlackMorass"] = {
@@ -633,7 +632,8 @@ AtlasLoot_DewDropDown_SubTables = {
{ "", "AuchManaPandemonius" },
{ "", "AuchManaTavarok" },
{ "", "AuchManaNexusPrince" },
{ "", "AuchManaYor" },
{ "", "AuchManaNexusPrinceHeroic" },
{ "", "AuchManaYorHeroic" },
{ AL["Trash Mobs"], "AuchTrash" },
},
["AuchCrypts"] = {
@@ -679,6 +679,7 @@ AtlasLoot_DewDropDown_SubTables = {
{ "", "CFRUnderGhazan" },
{ "", "CFRUnderSwamplord" },
{ "", "CFRUnderStalker" },
{ "", "CFRUnderStalkerHeroic" },
},
["CFRSteamvault"] = {
{ "", "CFRSteamThespia" },
@@ -703,6 +704,7 @@ AtlasLoot_DewDropDown_SubTables = {
{ "", "HCRampWatchkeeper" },
{ "", "HCRampOmor" },
{ "", "HCRampVazruden" },
{ "", "HCRampVazrudenHeroic" },
},
["HCFurnace"] = {
{ "", "HCFurnaceMaker" },
@@ -721,6 +723,7 @@ AtlasLoot_DewDropDown_SubTables = {
{ "", "TKMechCapacitus" },
{ "", "TKMechSepethrea" },
{ "", "TKMechCalc" },
{ "", "TKMechCalcHeroic" },
{ AL["Trash Mobs"], "TKTrash" },
},
["TKBot"] = {
@@ -729,6 +732,7 @@ AtlasLoot_DewDropDown_SubTables = {
{ "", "TKBotThorngrin" },
{ "", "TKBotLaj" },
{ "", "TKBotSplinter" },
{ "", "TKBotSplinterHeroic" },
{ AL["Trash Mobs"], "TKTrash" },
},
["TKArc"] = {
+17 -2
View File
@@ -23,6 +23,7 @@ if AL then
AL["AtlasLoot"] = true;
AL["Select Loot Table"] = true;
AL["Select Sub-Table"] = true;
AL["Select Difficulty"] = true;
AL["Drop Rate: "] = true;
AL["DKP"] = true;
AL["Priority:"] = true;
@@ -40,6 +41,7 @@ if AL then
AL["Rewards"] = true;
AL["Show Normal Loot"] = true;
AL["Show Heroic/Ascended Loot"] = true;
AL["Bloodforged"] = true;
AL["Factions - Original WoW"] = true;
AL["Factions - Burning Crusade"] = true;
AL["Factions - Wrath of the Lich King"] = true;
@@ -64,7 +66,14 @@ if AL then
AL["Hide Text"] = true;
AL["Hide Icon"] = true;
AL["Minimap Button Options"] = true;
AL["Normal"] = true;
AL["Heroic"] = true;
AL["Mythic"] = true;
AL["Normal Flex"] = true;
AL["Heroic Flex"] = true;
AL["Ascended"] = true;
AL["Normal/Heroic"] = true;
AL["Crafting Patterns"] = true;
-- Text for Options Panel
AL["Atlasloot Options"] = true;
AL["Safe Chat Links"] = true;
@@ -116,7 +125,7 @@ if AL then
AL["Mythic Tier 7"] = true;
AL["Mythic Tier 8"] = true;
AL["Mythic Tier 9"] = true;
AL["Mythic Tier 10"] = true;
AL["Mythic Tier 10"] = true;
-- Slash commands
AL["reset"] = true;
@@ -155,6 +164,12 @@ if AL then
AL["Crafted Sets"] = true;
AL["Crafted Epic Weapons"] = true;
AL["Dragon's Eye"] = true;
AL["Crafting Patterns Uncommon"] = true;
AL["Crafting Patterns Rare"] = true;
AL["Crafting Patterns Epic"] = true;
AL["Item Uncommon"] = true;
AL["Item Rare"] = true;
AL["Item Epic"] = true;
-- Sets/Collections Menu
AL["Badge of Justice Rewards"] = true;
+49 -30
View File
@@ -424,16 +424,12 @@ end
AtlasLoot_TableNames["AuchCryptsShirrak"] = { BabbleBoss["Shirrak the Dead Watcher"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchCryptsExarch"] = { BabbleBoss["Exarch Maladaar"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchCryptsAvatar"] = { AL["Avatar of the Martyred"], "AtlasLootBurningCrusade" };
-- Auch: Auchenai Crypts MYTHIC
AtlasLoot_TableNames["AuchCryptsShirrak25Man"] = { BabbleBoss["Shirrak the Dead Watcher"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchCryptsExarch25Man"] = { BabbleBoss["Exarch Maladaar"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchCryptsAvatar25Man"] = { AL["Avatar of the Martyred"], "AtlasLootBurningCrusade" };
-- Auch: Mana-Tombs
AtlasLoot_TableNames["AuchManaPandemonius"] = { BabbleBoss["Pandemonius"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchManaTavarok"] = { BabbleBoss["Tavarok"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchManaNexusPrince"] = { BabbleBoss["Nexus-Prince Shaffar"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchManaNexusPrince2"] = { BabbleBoss["Nexus-Prince Shaffar"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchManaYor"] = { AL["Yor"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchManaNexusPrinceHeroic"] = { BabbleBoss["Nexus-Prince Shaffar"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchManaYorHeroic"] = { AL["Yor"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
-- Auch: Sethekk Halls
AtlasLoot_TableNames["AuchSethekkDarkweaver"] = { BabbleBoss["Darkweaver Syth"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["AuchSethekkRavenGod"] = { BabbleBoss["Anzu"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
@@ -478,12 +474,12 @@ end
AtlasLoot_TableNames["CFRUnderGhazan"] = { BabbleBoss["Ghaz'an"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CFRUnderSwamplord"] = { BabbleBoss["Swamplord Musel'ek"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CFRUnderStalker"] = { BabbleBoss["The Black Stalker"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CFRUnderStalker2"] = { BabbleBoss["The Black Stalker"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CFRUnderStalkerHeroic"] = { BabbleBoss["The Black Stalker"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
-- CoT: Old Hillsbrad Foothills
AtlasLoot_TableNames["CoTHillsbradDrake"] = { BabbleBoss["Lieutenant Drake"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CoTHillsbradSkarloc"] = { BabbleBoss["Captain Skarloc"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CoTHillsbradHunter"] = { BabbleBoss["Epoch Hunter"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CoTHillsbradHunter2"] = { BabbleBoss["Epoch Hunter"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CoTHillsbradHunterHeroic"] = { BabbleBoss["Epoch Hunter"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["CoTTrash"] = { AL["Trash Mobs"].." ("..BabbleZone["Caverns of Time"]..")", "AtlasLootBurningCrusade" };
-- CoT: Black Morass
AtlasLoot_TableNames["CoTMorassDeja"] = { BabbleBoss["Chrono Lord Deja"], "AtlasLootBurningCrusade" };
@@ -509,7 +505,7 @@ end
AtlasLoot_TableNames["HCRampWatchkeeper"] = { BabbleBoss["Watchkeeper Gargolmar"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["HCRampOmor"] = { BabbleBoss["Omor the Unscarred"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["HCRampVazruden"] = { BabbleBoss["Vazruden"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["HCRampVazruden2"] = { BabbleBoss["Vazruden"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["HCRampVazrudenHeroic"] = { BabbleBoss["Vazruden"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
-- HC: Shattered Halls
AtlasLoot_TableNames["HCHallsNethekurse"] = { BabbleBoss["Grand Warlock Nethekurse"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["HCHallsPorung"] = { BabbleBoss["Blood Guard Porung"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
@@ -520,7 +516,6 @@ end
AtlasLoot_TableNames["KaraCharredBoneFragment"] = { "Charred Bone Fragment ("..AL["Quest Item"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["KaraNamed"] = { "Servant's Quarter Animal Bosses", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["KaraAttumen"] = { BabbleBoss["Attumen the Huntsman"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["KaraAttumen25Man"] = { BabbleBoss["Attumen the Huntsman"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["KaraMoroes"] = { BabbleBoss["Moroes"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["KaraKeannaLog"] = { "Keanna's Log ("..AL["Quest Item"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["KaraMaiden"] = { BabbleBoss["Maiden of Virtue"], "AtlasLootBurningCrusade" };
@@ -554,14 +549,14 @@ end
AtlasLoot_TableNames["TKArcDalliah"] = { BabbleBoss["Dalliah the Doomsayer"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKArcScryer"] = { BabbleBoss["Wrath-Scryer Soccothrates"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKArcHarbinger"] = { BabbleBoss["Harbinger Skyriss"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKTrash"] = { AL["Trash Mobs"].." ("..BabbleZone["Tempest Keep"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKTrash"] = { AL["Trash Mobs"].." ("..BabbleZone["Tempest Keep"]..")", "AtlasLootBurningCrusade" };
-- TK: The Botanica
AtlasLoot_TableNames["TKBotSarannis"] = { BabbleBoss["Commander Sarannis"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKBotFreywinn"] = { BabbleBoss["High Botanist Freywinn"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKBotThorngrin"] = { BabbleBoss["Thorngrin the Tender"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKBotLaj"] = { BabbleBoss["Laj"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKBotSplinter"] = { BabbleBoss["Warp Splinter"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKBotSplinter2"] = { BabbleBoss["Warp Splinter"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKBotSplinterHeroic"] = { BabbleBoss["Warp Splinter"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
-- TK: The Eye
AtlasLoot_TableNames["TKEyeAlar"] = { BabbleBoss["Al'ar"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKEyeVoidReaver"] = { BabbleBoss["Void Reaver"], "AtlasLootBurningCrusade" };
@@ -574,7 +569,7 @@ end
AtlasLoot_TableNames["TKMechCapacitus"] = { BabbleBoss["Mechano-Lord Capacitus"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKMechSepethrea"] = { BabbleBoss["Nethermancer Sepethrea"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKMechCalc"] = { BabbleBoss["Pathaleon the Calculator"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKMechCalc2"] = { BabbleBoss["Pathaleon the Calculator"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["TKMechCalcHeroic"] = { BabbleBoss["Pathaleon the Calculator"].." ("..AL["Heroic"]..")", "AtlasLootBurningCrusade" };
-- Zul'Aman
AtlasLoot_TableNames["ZANalorakk"] = { BabbleBoss["Nalorakk"], "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["ZAAkilZon"] = { BabbleBoss["Akil'zon"], "AtlasLootBurningCrusade" };
@@ -585,7 +580,6 @@ end
AtlasLoot_TableNames["ZATimedChest"] = { "Timed Reward Chest", "AtlasLootBurningCrusade" };
AtlasLoot_TableNames["ZATrash"] = { AL["Trash Mobs"].." ("..BabbleZone["Zul'Aman"]..")", "AtlasLootBurningCrusade" };
-------------------------
--- Classic Instances ---
-------------------------
@@ -1898,29 +1892,29 @@ end
AtlasLoot_TableNames["JewelcraftingDaily6"] = { AL["Jewelcrafting Daily"], "AtlasLootCrafting" };
AtlasLoot_TableNames["AlchemyHighRisk"] = { ALCHEMY, "AtlasLootCrafting" };
AtlasLoot_TableNames["AlchemyHighRisk25Man"] = { ALCHEMY, "AtlasLootCrafting" };
AtlasLoot_TableNames["AlchemyHighRisk25ManHEROIC"] = { ALCHEMY, "AtlasLootCrafting" };
AtlasLoot_TableNames["AlchemyHighRiskRare"] = { ALCHEMY, "AtlasLootCrafting" };
AtlasLoot_TableNames["AlchemyHighRiskEpic"] = { ALCHEMY, "AtlasLootCrafting" };
AtlasLoot_TableNames["SmithingHighRisk"] = { BLACKSMITHING, "AtlasLootCrafting" };
AtlasLoot_TableNames["SmithingHighRisk25Man"] = { BLACKSMITHING, "AtlasLootCrafting" };
AtlasLoot_TableNames["SmithingHighRisk25ManHEROIC"] = { BLACKSMITHING, "AtlasLootCrafting" };
AtlasLoot_TableNames["SmithingHighRiskRare"] = { BLACKSMITHING, "AtlasLootCrafting" };
AtlasLoot_TableNames["SmithingHighRiskEpic"] = { BLACKSMITHING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EnchantingHighRisk"] = { ENCHANTING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EnchantingHighRisk25Man"] = { ENCHANTING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EnchantingHighRisk25ManHEROIC"] = { ENCHANTING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EnchantingHighRiskRare"] = { ENCHANTING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EnchantingHighRiskEpic"] = { ENCHANTING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EngineerHighRisk"] = { ENGINEERING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EngineerHighRisk25Man"] = { ENGINEERING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EngineerHighRisk25ManHEROIC"] = { ENGINEERING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EngineerHighRiskRare"] = { ENGINEERING, "AtlasLootCrafting" };
AtlasLoot_TableNames["EngineerHighRiskEpic"] = { ENGINEERING, "AtlasLootCrafting" };
AtlasLoot_TableNames["LeatherHighRisk"] = { LEATHERWORKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["LeatherHighRisk25Man"] = { LEATHERWORKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["LeatherHighRisk25ManHEROIC"] = { LEATHERWORKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["LeatherHighRiskRare"] = { LEATHERWORKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["LeatherHighRiskEpic"] = { LEATHERWORKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["TailorHighRisk"] = { TAILORING, "AtlasLootCrafting" };
AtlasLoot_TableNames["TailorHighRisk25Man"] = { TAILORING, "AtlasLootCrafting" };
AtlasLoot_TableNames["TailorHighRisk25ManHEROIC"] = { TAILORING, "AtlasLootCrafting" };
AtlasLoot_TableNames["TailorHighRiskRare"] = { TAILORING, "AtlasLootCrafting" };
AtlasLoot_TableNames["TailorHighRiskEpic"] = { TAILORING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRisk"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskTwo"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRisk25Man"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskTwo25Man"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRisk25ManHEROIC"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskTwo25ManHEROIC"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskRare"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskTwoRare"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskEpic"] = { COOKING, "AtlasLootCrafting" };
AtlasLoot_TableNames["CookingHighRiskTwoEpic"] = { COOKING, "AtlasLootCrafting" };
-----------
--- PvP ---
@@ -2073,5 +2067,30 @@ end
AtlasLoot_TableNames["EmptyTable"] = { AL["Select a Loot Table..."], "Menu" };
AtlasLoot_TableNames["EmptyInstance"] = { "AtlasLoot", "AtlasLootFallback" };
AtlasLoot_TableNames["AtlasLootFallback"] = { "AtlasLoot", "AtlasLootFallback" };
AtlasLoot_TableNames["NormalFLEX"] = { AL["Normal Flex"], "Menu" };
AtlasLoot_TableNames["HeroicFLEX"] = { AL["Heroic Flex"], "Menu" };
AtlasLoot_TableNames["Ascended"] = { AL["Ascended"], "Menu" };
AtlasLoot_TableNames["Normal"] = { AL["Normal"], "Menu" };
AtlasLoot_TableNames["Heroic"] = { AL["Heroic"], "Menu" };
AtlasLoot_TableNames["Mythic"] = { AL["Mythic"], "Menu" };
AtlasLoot_TableNames["NormalHEROIC"] = { AL["Normal/Heroic"], "Menu" };
AtlasLoot_TableNames["Bloodforged"] = { AL["Bloodforged"], "Menu" };
AtlasLoot_TableNames["Mythic1"] = { AL["Mythic Tier 1"], "Menu" };
AtlasLoot_TableNames["Mythic2"] = { AL["Mythic Tier 2"], "Menu" };
AtlasLoot_TableNames["Mythic3"] = { AL["Mythic Tier 3"], "Menu" };
AtlasLoot_TableNames["Mythic4"] = { AL["Mythic Tier 4"], "Menu" };
AtlasLoot_TableNames["Mythic5"] = { AL["Mythic Tier 5"], "Menu" };
AtlasLoot_TableNames["Mythic6"] = { AL["Mythic Tier 6"], "Menu" };
AtlasLoot_TableNames["Mythic7"] = { AL["Mythic Tier 7"], "Menu" };
AtlasLoot_TableNames["Mythic8"] = { AL["Mythic Tier 8"], "Menu" };
AtlasLoot_TableNames["Mythic9"] = { AL["Mythic Tier 9"], "Menu" };
AtlasLoot_TableNames["Mythic10"] = { AL["Mythic Tier 10"], "Menu" };
AtlasLoot_TableNames["CraftingPatterns"] = { AL["Crafting Patterns"], "Menu" };
AtlasLoot_TableNames["CraftingPatternUncommon"] = { AL["Crafting Patterns Uncommon"], "Menu" };
AtlasLoot_TableNames["CraftingPatternsRare"] = { AL["Crafting Patterns Rare"], "Menu" };
AtlasLoot_TableNames["CraftingPatternsEpic"] = { AL["Crafting Patterns Epic"], "Menu" };
AtlasLoot_TableNames["ItemUncommon"] = { AL["Item Uncommon"], "Menu" };
AtlasLoot_TableNames["ItemRare"] = { AL["Item Rare"], "Menu" };
AtlasLoot_TableNames["ItemEpic"] = { AL["Item Epic"], "Menu" };
+1 -1
View File
@@ -10,7 +10,7 @@ v2.02 08/29/2021
- Added forward and previous arrows to all classic dungeons (Credit: alexs and Powerthegreat)
- Added forward and previous arrows to all classic world bosses (Credit: Powerthegreat)
- Moved TBC world boss to the bottom of the dropdown
- Added missing Homicite Keys to High Risk Balcksmithing and Crusader High Risk craft (Credit: Rvng)
- Added missing Keys to High Risk Balcksmithing and Crusader High Risk craft (Credit: Rvng)
- Added missing Lures to High Risk Cooking
- Added forward and previous arrows to High Risk crafting
---------------------------------------------------------------------------------------------------------------------------