Add files via upload

This commit is contained in:
HonkinGamer
2020-06-01 22:20:39 -04:00
committed by GitHub
parent 663321eacd
commit d857f21cc5
53 changed files with 28173 additions and 20 deletions
+86
View File
@@ -0,0 +1,86 @@
--[[
This file contains all the Atlas specific functions
]]
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
--[[
AtlasLoot_SetupForAtlas:
This function sets up the Atlas specific XML objects
]]
function AtlasLoot_SetupForAtlas()
--Position the frame with the AtlasLoot version details in the Atlas frame
AtlasLootInfo:ClearAllPoints();
AtlasLootInfo:SetParent(AtlasFrame);
AtlasLootInfo:SetPoint("TOPLEFT", "AtlasFrame", "TOPLEFT", 546, -3);
--Anchor the bottom panel to the Atlas frame
AtlasLootPanel:ClearAllPoints();
AtlasLootPanel:SetParent(AtlasFrame);
AtlasLootPanel:SetPoint("TOP", "AtlasFrame", "BOTTOM", 0, 9);
--Anchor the loot table to the Atlas frame
AtlasLoot_SetItemInfoFrame();
AtlasLootItemsFrame:Hide();
AtlasLoot_AnchorFrame = AtlasFrame;
end
--[[
AtlasLootBoss_OnClick:
Invoked whenever a boss line in Atlas is clicked
Shows a loot page if one is associated with the button
]]
function AtlasLootBoss_OnClick(name)
local zoneID = ATLAS_DROPDOWNS[AtlasOptions.AtlasType][AtlasOptions.AtlasZone];
local id = this.idnum;
--If the loot table was already shown and boss clicked again, hide the loot table and fix boss list icons
if getglobal(name.."_Selected"):IsVisible() then
getglobal(name.."_Selected"):Hide();
getglobal(name.."_Loot"):Show();
AtlasLootItemsFrame:Hide();
AtlasLootItemsFrame.activeBoss = nil;
else
--If an loot table is associated with the button, show it. Note multiple tables need to be checked due to the database structure
if (AtlasLootBossButtons[zoneID] ~= nil and AtlasLootBossButtons[zoneID][id] ~= nil and AtlasLootBossButtons[zoneID][id] ~= "") then
if AtlasLoot_IsLootTableAvailable(AtlasLootBossButtons[zoneID][id]) then
getglobal(name.."_Selected"):Show();
getglobal(name.."_Loot"):Hide();
local _,_,boss = string.find(getglobal(name.."_Text"):GetText(), "|c%x%x%x%x%x%x%x%x%s*[%dX']*[%) ]*(.*[^%,])[%,]?$");
AtlasLoot_ShowBossLoot(AtlasLootBossButtons[zoneID][id], boss, AtlasFrame);
AtlasLootItemsFrame.activeBoss = id;
AtlasLoot_AtlasScrollBar_Update();
end
elseif (AtlasLootWBBossButtons[zoneID] ~= nil and AtlasLootWBBossButtons[zoneID][id] ~= nil and AtlasLootWBBossButtons[zoneID][id] ~= "") then
if AtlasLoot_IsLootTableAvailable(AtlasLootWBBossButtons[zoneID][id]) then
getglobal(name.."_Selected"):Show();
getglobal(name.."_Loot"):Hide();
local _,_,boss = string.find(getglobal(name.."_Text"):GetText(), "|c%x%x%x%x%x%x%x%x%s*[%dX]*[%) ]*(.*[^%,])[%,]?$");
AtlasLoot_ShowBossLoot(AtlasLootWBBossButtons[zoneID][id], boss, AtlasFrame);
AtlasLootItemsFrame.activeBoss = id;
AtlasLoot_AtlasScrollBar_Update();
end
elseif (AtlasLootBattlegrounds[zoneID] ~= nil and AtlasLootBattlegrounds[zoneID][id] ~= nil and AtlasLootBattlegrounds[zoneID][id] ~= "") then
if AtlasLoot_IsLootTableAvailable(AtlasLootBattlegrounds[zoneID][id]) then
getglobal(name.."_Selected"):Show();
getglobal(name.."_Loot"):Hide();
local _,_,boss = string.find(getglobal(name.."_Text"):GetText(), "|c%x%x%x%x%x%x%x%x%s*[%wX]*[%) ]*(.*[^%,])[%,]?$");
AtlasLoot_ShowBossLoot(AtlasLootBattlegrounds[zoneID][id], boss, AtlasFrame);
AtlasLootItemsFrame.activeBoss = id;
AtlasLoot_AtlasScrollBar_Update();
end
end
end
--This has been invoked from Atlas, so we remove any claim external mods have on the loot table
AtlasLootItemsFrame.externalBoss = nil;
--Hide the AtlasQuest frame if present so that the AtlasLoot items frame is not stuck under it
if (AtlasQuestInsideFrame) then
HideUIPanel(AtlasQuestInsideFrame);
end
end
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+405
View File
@@ -0,0 +1,405 @@
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")
-- 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 INDENT = " ";
AtlasLoot_ExtraText = {
AhnKahet = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
AzjolNerub = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
AuchAuchenaiCrypts = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
AuchManaTombs = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
AuchSethekkHalls = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
AuchShadowLabyrinth = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
BlackfathomDeeps = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
BlackrockDepths = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Set: The Gladiator"];
};
BlackrockSpireLower = {
"";
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Dungeon 1/2 Sets"];
};
BlackrockSpireUpper = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Dungeon 1/2 Sets"];
};
BlackTempleStart = {
"";
GREY..INDENT..AL["BT Patterns/Plans"];
GREY..INDENT..AL["Trash Mobs"];
};
BlackTempleBasement = {
"";
GREY..INDENT..AL["BT Patterns/Plans"];
GREY..INDENT..AL["Trash Mobs"];
};
BlackTempleMiddle = {
"";
GREY..INDENT..AL["BT Patterns/Plans"];
GREY..INDENT..AL["Trash Mobs"];
};
BlackTempleTop = {
"";
GREY..INDENT..AL["BT Patterns/Plans"];
GREY..INDENT..AL["Trash Mobs"];
};
BlackTempleFull = {
"";
GREY..INDENT..AL["BT Patterns/Plans"];
GREY..INDENT..AL["Trash Mobs"];
};
BlackwingLair = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Tier 1/2 Sets"];
};
CFRTheSteamvault = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
CFRSerpentshrineCavern = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
CoTOldHillsbrad = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
CoTBlackMorass = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
CoTHyjal = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
CoTOldStratholme = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TheDeadmines = {
"";
GREY..INDENT..AL["Set: Defias Leather"];
};
DireMaulEast = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Dire Maul Books"];
};
DireMaulNorth = {
"";
GREY..INDENT..AL["Tribute Run"];
GREY..INDENT..AL["Dire Maul Books"];
};
DireMaulWest = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Dire Maul Books"];
};
DrakTharonKeep = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
FHTheForgeOfSouls = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
FHPitOfSaron = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
FHHallsOfReflection = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
Gnomeregan = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
Gundrak = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
HCTheShatteredHalls = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
IcecrownStart = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
IcecrownCitadelA = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
IcecrownCitadelB = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
IcecrownCitadelC = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
Karazhan = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
KarazhanStart = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
KarazhanEnd = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
MagistersTerrace = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
MoltenCore = {
"";
GREY..INDENT..AL["Tier 1/2 Sets"];
GREY..INDENT..AL["Random Boss Loot"];
GREY..INDENT..AL["Trash Mobs"];
};
Naxxramas = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Tier 7/8 Sets"];
};
RazorfenDowns = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
RazorfenKraul = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TempestKeepMechanar = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TempestKeepBotanica = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TempestKeepArcatraz = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TempestKeepTheEye = {
"";
GREY..INDENT..AL["Legendary Items for Kael'thas Fight"];
GREY..INDENT..AL["Trash Mobs"];
};
TheOculus = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TheRuinsofAhnQiraj = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Class Books"];
GREY..INDENT..AL["AQ Enchants"];
GREY..INDENT..AL["AQ20 Class Sets"];
};
SMArmory = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Set: Chain of the Scarlet Crusade"];
};
SMCathedral = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Set: Chain of the Scarlet Crusade"];
};
SMGraveyard = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Set: Chain of the Scarlet Crusade"];
};
SMLibrary = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Set: Chain of the Scarlet Crusade"];
};
Scholomance = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Set: Necropile Raiment"];
GREY..INDENT..AL["Set: Cadaverous Garb"];
GREY..INDENT..AL["Set: Bloodmail Regalia"];
GREY..INDENT..AL["Set: Deathbone Guardian"];
};
ShadowfangKeep = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TheStockade = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
Stratholme = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
SunwellPlateau = {
"";
GREY..INDENT..AL["SP Patterns/Plans"];
GREY..INDENT..AL["Trash Mobs"];
};
TheSunkenTemple = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
TheTempleofAhnQiraj = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["AQ Enchants"];
GREY..INDENT..AL["AQ40 Class Sets"];
GREY..INDENT..AL["AQ Opening Quest Chain"];
};
TrialOfTheCrusader = {
"";
GREY..INDENT..AL["Tribute Run"];
GREY..INDENT..AL["Trial of the Crusader Patterns/Plans"];
};
Uldaman = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
UlduarHallsofLightning = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
UlduarA = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Ulduar Formula/Patterns/Plans"];
GREY..INDENT..AL["Tier 7/8 Sets"];
};
UlduarB = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Ulduar Formula/Patterns/Plans"];
GREY..INDENT..AL["Tier 7/8 Sets"];
};
UlduarC = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Ulduar Formula/Patterns/Plans"];
GREY..INDENT..AL["Tier 7/8 Sets"];
};
UlduarD = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Ulduar Formula/Patterns/Plans"];
GREY..INDENT..AL["Tier 7/8 Sets"];
};
UlduarE = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Ulduar Formula/Patterns/Plans"];
GREY..INDENT..AL["Tier 7/8 Sets"];
};
UlduarHallsofStone = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
UtgardeKeep = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
UtgardePinnacle = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
VioletHold = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
WailingCaverns = {
"";
GREY..INDENT..AL["Set: Embrace of the Viper"];
};
ZulAman = {
"";
GREY..INDENT..AL["Timed Reward Chest"];
GREY..INDENT..AL["Trash Mobs"];
"";
};
ZulFarrak = {
"";
GREY..INDENT..AL["Trash Mobs"];
};
ZulGurub = {
"";
GREY..INDENT..AL["Trash Mobs"];
GREY..INDENT..AL["Random Boss Loot"];
GREY..INDENT..AL["ZG Class Sets"];
GREY..INDENT..AL["ZG Enchants"];
};
AlteracValleyNorth = {
"";
GREEN..AL["Misc. Rewards"];
GREEN..BabbleInventory["Armor"];
};
AlteracValleySouth = {
"";
GREEN..AL["Misc. Rewards"];
GREEN..BabbleInventory["Armor"];
};
ArathiBasin = {
"";
GREEN..AL["Misc. Rewards"];
GREEN..AL["Level 40-49 Rewards"];
GREEN..AL["Level 20-39 Rewards"];
"";
GREEN..AL["Arathi Basin Sets"];
};
WarsongGulch = {
"";
GREEN..AL["Misc. Rewards"];
GREEN..AL["Accessories"];
GREEN..AL["Weapons"];
GREEN..BabbleInventory["Armor"];
};
};
+389
View File
@@ -0,0 +1,389 @@
--[[
Atlasloot Enhanced
Author Daviesh
Loot browser associating loot with instance bosses
Can be integrated with Atlas (http://www.atlasmod.com)
Functions:
AtlasLoot_HideNoUsableItems()
AtlasLoot_FilterEnableButton()
<local> CreateCheckButton(parrent, text, num)
AtlasLoote_CreateFilterOptions()
]]
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local OptionsLoadet = false
AtlasLootFilterDB = {};
local FilterTableNames = {
["Armor"] = AL["Armor:"],
["WeaponsMeele"] = AL["Melee weapons:"],
["WeaponsMeeleTwoHand"] = BabbleInventory["Two-Hand"]..":",--.." "..AL["Melee weapons:"],
["WeaponsRanged"] = AL["Ranged weapons:"],
["Relics"] = AL["Relics:"],
["Other"] = AL["Other:"],
}
local FilterSort = {"Armor","WeaponsMeele","WeaponsMeeleTwoHand","WeaponsRanged","Relics","Other"}
local FilterTable = {
["Armor"] = {
"Cloth", --1
"Leather", --2
"Mail", --3
"Plate", --4
},
["WeaponsMeele"] = {
"Held in Off-Hand", --1
"Dagger", --2
"Mace", --3
"Staff", --4
"Axe", --5
"Polearm", --6
"Shield", --7
"Sword", --8
"Fist Weapon", --9
},
["WeaponsMeeleTwoHand"] = {
"Mace", --1
"Axe", --2
"Sword", --3
},
["WeaponsRanged"] = {
"Wand", --1
"Bow", --2
"Crossbow", --3
"Gun", --4
"Thrown", --5
},
["Relics"] = {
"Idol", --1
"Totem", --2
"Libram", --3
"Sigils", --4
},
["Other"] = {
"Ring", --1
"Trinket", --2
"Neck", --3
"Back", --4
}
}
local ClassHides = {
["DRUID"] = {["Armor"] = {true,true,false,false},["WeaponsMeele"] = {true,true,true,true,false,true,false,false,false},["WeaponsMeeleTwoHand"] = {true,false,false},["WeaponsRanged"] = {false,false,false,false,false},["Relics"] = {true,false,false,false},["Other"] = {true,true,true,true}},
["MAGE"] = {["Armor"] = {true,false,false,false},["WeaponsMeele"] = {true,true,false,true,false,false,false,true,false},["WeaponsMeeleTwoHand"] = {false,false,false},["WeaponsRanged"] = {true,false,false,false,false},["Relics"] = {false,false,false,false},["Other"] = {true,true,true,true}},
["PALADIN"] = {["Armor"] = {true,true,true,true},["WeaponsMeele"] = {true,false,true,false,true,true,true,true,false},["WeaponsMeeleTwoHand"] = {true,false,true},["WeaponsRanged"] = {false,false,false,false,false},["Relics"] = {false,false,true,false},["Other"] = {true,true,true,true}},
["PRIEST"] = {["Armor"] = {true,false,false,false},["WeaponsMeele"] = {true,true,true,true,false,false,false,false,false},["WeaponsMeeleTwoHand"] = {false,false,false},["WeaponsRanged"] = {true,false,false,false,false},["Relics"] = {false,false,false,false},["Other"] = {true,true,true,true}},
["ROGUE"] = {["Armor"] = {true,true,false,false},["WeaponsMeele"] = {true,true,true,false,true,false,false,true,true},["WeaponsMeeleTwoHand"] = {false,false,false},["WeaponsRanged"] = {false,true,true,true,true},["Relics"] = {false,false,false,false},["Other"] = {true,true,true,true}},
["HUNTER"] = {["Armor"] = {false,true,true,false},["WeaponsMeele"] = {false,true,false,true,true,true,false,true,true},["WeaponsMeeleTwoHand"] = {false,true,true},["WeaponsRanged"] = {false,true,true,true,false},["Relics"] = {false,false,false,false},["Other"] = {true,true,true,true}},
["SHAMAN"] = {["Armor"] = {true,true,true,false},["WeaponsMeele"] = {true,true,true,true,true,false,true,false,true},["WeaponsMeeleTwoHand"] = {true,true,false},["WeaponsRanged"] = {false,false,false,false,false},["Relics"] = {false,true,false,false},["Other"] = {true,true,true,true}},
["WARLOCK"] = {["Armor"] = {true,false,false,false},["WeaponsMeele"] = {true,true,false,true,false,false,false,true,false},["WeaponsMeeleTwoHand"] = {false,false,false},["WeaponsRanged"] = {true,false,false,false,false},["Relics"] = {false,false,false,false},["Other"] = {true,true,true,true}},
["WARRIOR"] = {["Armor"] = {true,true,true,true},["WeaponsMeele"] = {true,true,true,true,true,true,true,true,true},["WeaponsMeeleTwoHand"] = {true,true,true},["WeaponsRanged"] = {false,true,true,true,true},["Relics"] = {false,false,false,false},["Other"] = {true,true,true,true}},
["DEATHKNIGHT"] = {["Armor"] = {true,true,true,true},["WeaponsMeele"] = {true,false,true,false,true,true,false,true,false},["WeaponsMeeleTwoHand"] = {true,false,true},["WeaponsRanged"] = {false,false,false,false,false},["Relics"] = {false,false,false,true},["Other"] = {true,true,true,true}}
}
-- **********************************************************************
-- ItemFilter:
-- AtlasLoot_HideNoUsableItems()
-- AtlasLoot_FilterEnableButton()
-- **********************************************************************
AtlasLoot_Data["FilterList"] = {
};
function AtlasLoot_Testabc()
print(BabbleInventory["Two-Hand"])
end
function AtlasLoot_HideNoUsableItems()
local dataID = AtlasLootItemsFrame.refreshOri[1]
local dataSource = AtlasLootItemsFrame.refreshOri[2]
local boss = AtlasLootItemsFrame.refreshOri[3]
local pFrame = AtlasLootItemsFrame.refreshOri[4]
local tablebase = AtlasLoot_Data[dataID]
if not tablebase or dataID == "WishList" or dataID == "SearchResult" or dataSource == "AtlasLootCrafting" then return end
local itemCount = 0
local countAll = 1
local count = 0
local leatherworking = GetSpellInfo(2108)
AtlasLoot_Data["FilterList"] = {}
for i=1,30 do
local info = getglobal("AtlasLootItem_"..i.."_Extra"):GetText()
if getglobal("AtlasLootItem_"..i):IsShown() then
local xgo = true
local countOld = count
itemCount = itemCount + 1
countAll = countAll + count
count = 0
local xitemID = getglobal("AtlasLootItem_"..i).itemID
local xspellitemID = getglobal("AtlasLootItem_"..i).spellitemID
local xitemTexture = tablebase[itemCount][3]
local xitemExtraText = AtlasLoot_FixText(tablebase[itemCount][5])
local xitemExtraTextSave = xitemExtraText
-- remove the "-"
xitemExtraText = gsub(xitemExtraText, "-", "")
local xitemNameText = getglobal("AtlasLootItem_"..i.."_Name"):GetText()
if xitemExtraText and xitemExtraText ~= "" then
for k = 1,#FilterSort do
k = FilterSort[k]
if type(FilterTable[k]) == "table" then
for i,j in pairs(FilterTable[k]) do
local Slotname = ""
-- Bugfix with Sigils
if j == "Sigils" then
Slotname = AL["Sigil"]
else
Slotname = BabbleInventory[j]
end
if (k ~= "WeaponsMeeleTwoHand" and not strfind(xitemExtraText, BabbleInventory["Two-Hand"]) and strfind(xitemExtraText, Slotname) and AtlasLootFilterDB[k][j] == false) then
xgo = false
-- German fix
if j == "Shield" and not strfind(xitemExtraText, BabbleInventory["Held in Off-Hand"]) and not strfind(xitemExtraText, BabbleInventory["Off Hand"]) then
xgo = false
elseif j == "Shield" and strfind(xitemExtraText, BabbleInventory["Held in Off-Hand"]) and AtlasLootFilterDB["WeaponsMeele"]["Held in Off-Hand"] == true then
xgo = true
end
elseif k == "WeaponsMeeleTwoHand" and strfind(xitemExtraText, BabbleInventory["Two-Hand"]) and strfind(xitemExtraText, Slotname) and AtlasLootFilterDB[k][j] == false then
xgo = false
-- Fix bug with Leatherworking Patterns
elseif strfind(xitemExtraText, leatherworking) then
xgo = true
end
end
end
end
end
-- Sort the items
if xgo == true then
if i==16 and countOld > 0 then
AtlasLoot_Data["FilterList"][16] = { 16, xitemID, xitemTexture, xitemNameText, xitemExtraTextSave}
countAll = 16
elseif i==16 and xitemExtraText and strfind(xitemExtraText, AL["Token"]) then
AtlasLoot_Data["FilterList"][16] = { 16, xitemID, xitemTexture, xitemNameText, xitemExtraTextSave}
countAll = 16
elseif countAll < 16 and xitemNameText and strfind(xitemNameText, AL["Hard Mode"]) then
AtlasLoot_Data["FilterList"][16] = { 16, xitemID, xitemTexture, xitemNameText, xitemExtraTextSave}
countAll = 16
elseif i==16 and xitemTexture == "INV_Box_01" then
AtlasLoot_Data["FilterList"][16] = { 16, xitemID, xitemTexture, xitemNameText, xitemExtraTextSave}
countAll = 16
else
AtlasLoot_Data["FilterList"][countAll] = { countAll, xitemID, xitemTexture, xitemNameText, xitemExtraTextSave}
end
if tablebase[itemCount][6] and countAll==16 then
AtlasLoot_Data["FilterList"][16][6] = tablebase[itemCount][6]
elseif tablebase[itemCount][6] and countAll~=16 then
AtlasLoot_Data["FilterList"][countAll][6] = tablebase[itemCount][6]
end
if tablebase[itemCount][7] and countAll==16 then
AtlasLoot_Data["FilterList"][16][7] = tablebase[itemCount][7]
elseif tablebase[itemCount][7] and countAll~=16 then
AtlasLoot_Data["FilterList"][countAll][7] = tablebase[itemCount][7]
end
if tablebase[itemCount][8] and countAll==16 then
AtlasLoot_Data["FilterList"][16][8] = tablebase[itemCount][8]
elseif tablebase[itemCount][8] and countAll~=16 then
AtlasLoot_Data["FilterList"][countAll][8] = tablebase[itemCount][8]
end
countAll = countAll + 1
count = 0
end
else
count = count + 1
end
end
-- Set the Next, Prev and Back button.
if tablebase.Next then
AtlasLoot_Data["FilterList"].Next = tablebase.Next
end
if tablebase.Prev then
AtlasLoot_Data["FilterList"].Prev = tablebase.Prev
end
if tablebase.Back then
AtlasLoot_Data["FilterList"].Back = tablebase.Back
end
AtlasLoot_TableNames["FilterList"] = {AtlasLoot_TableNames[dataID][1],AtlasLoot_TableNames[dataID][2]};
AtlasLoot_ShowItemsFrame("FilterList", "AtlasLootFilter", "", AtlasLootItemsFrame.refresh[4])
end
function AtlasLoot_FilterEnableButton()
if ATLASLOOT_FILTER_ENABLE == true then
ATLASLOOT_FILTER_ENABLE = false
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refreshOri[1], AtlasLootItemsFrame.refreshOri[2], AtlasLootItemsFrame.refreshOri[3], AtlasLootItemsFrame.refreshOri[4])
else
ATLASLOOT_FILTER_ENABLE = true
AtlasLoot_HideNoUsableItems()
end
end
-- **********************************************************************
-- Options:
-- AtlasLoot_HideNoUsableItems()
-- <local> CreateCheckButton(parrent, text, num)
-- AtlasLoote_CreateFilterOptions()
-- **********************************************************************
local ypos = -40
local xpos = 0
local linecount = 1
local lastframewidht,lastframeheight = 0,0
local function CreateCheckButton(parrent, text, num)
local framewidht = InterfaceOptionsFramePanelContainer:GetWidth()
local Check = CreateFrame("CheckButton", "AtlasLootOptionsCheck"..text..num, parrent, "OptionsCheckButtonTemplate")
Check:SetPoint("LEFT", parrent, "TOPLEFT", xpos, ypos)
Check:SetWidth(25)
Check:SetHeight(25)
Check:SetScript("OnShow", function()
getglobal(this:GetName().."Text"):SetText(BabbleInventory[text]);
if AtlasLootFilterDB[num][text] then
this:SetChecked(1);
else
this:SetChecked(nil);
end
end)
Check:SetScript("OnClick", function()
if AtlasLootFilterDB[num][text] then
AtlasLootFilterDB[num][text] = false;
else
AtlasLootFilterDB[num][text] = true;
end
end)
if xpos == framewidht/2 then
xpos = 0
ypos = ypos - 20
linecount = 1
elseif xpos == 0 then
xpos = framewidht/2
linecount = 2
end
end
local function CreateCat(parrent, text)
if not AtlasLootFilterDB[text] then AtlasLootFilterDB[text] = {} end
if linecount == 2 then
ypos = ypos - 10
else
ypos = ypos + 10
end
local Text = parrent:CreateFontString("AtlasLoot"..text,"OVERLAY","GameFontNormal")
Text:SetPoint("TOPLEFT", parrent, "TOPLEFT", xpos, ypos)
Text:SetText(FilterTableNames[text]);
Text:SetHeight(20)
Text:SetTextColor(1.0, 1.0, 1.0, 1.0);
ypos = ypos - 30
for i,j in pairs(FilterTable[text]) do
if AtlasLootFilterDB[text][j] ~= true and AtlasLootFilterDB[text][j] ~= false then AtlasLootFilterDB[text][j] = true end
CreateCheckButton(parrent, j, text)
end
xpos = 0
ypos = ypos - 10
end
function AtlasLoot_CreateFilterOptions()
if OptionsLoadet then return end
local FilterOptionsFrame = CreateFrame("FRAME", nil)
FilterOptionsFrame.name = AL["Filter"];
FilterOptionsFrame.parent = AL["AtlasLoot"];
local framewidht = InterfaceOptionsFramePanelContainer:GetWidth()
local panel3 = CreateFrame("ScrollFrame", "AtlasLootFilterOptionsScrollFrame", FilterOptionsFrame, "UIPanelScrollFrameTemplate")
local scc = CreateFrame("Frame", "AtlasLootFilterOptionsScrollInhalt", panel3)
panel3:SetScrollChild(scc)
panel3:SetPoint("TOPLEFT", FilterOptionsFrame, "TOPLEFT", 10, -10)
scc:SetPoint("TOPLEFT", panel3, "TOPLEFT", 0, 0)
panel3:SetWidth(framewidht-45)
panel3:SetHeight(410)
scc:SetWidth(framewidht-45)
scc:SetHeight(410)
panel3:SetHorizontalScroll(-50)
panel3:SetVerticalScroll(50)
panel3:SetBackdrop({bgFile="Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="", tile = false, tileSize = 0, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 }})
panel3:SetScript("OnVerticalScroll", function() end)
panel3:EnableMouse(true)
panel3:SetVerticalScroll(0)
panel3:SetHorizontalScroll(0)
panel3:SetScript("OnUpdate", function()
local xframewidht = InterfaceOptionsFramePanelContainer:GetWidth()
local xframeheight = InterfaceOptionsFramePanelContainer:GetHeight()
if xframewidht ~= lastframewidht or xframeheight ~= lastframeheight then
panel3:SetWidth(xframewidht-45)
scc:SetWidth(xframewidht-45)
panel3:SetHeight(xframeheight-20)
scc:SetHeight(xframeheight-20)
end
end)
local FilterDisableButton = CreateFrame("BUTTON", nil, scc, "UIPanelButtonTemplate")
FilterDisableButton:SetHeight(20)
FilterDisableButton:SetWidth(150)
FilterDisableButton:SetPoint("TOPLEFT", scc, "TOPLEFT",0,-5)
FilterDisableButton:SetText(AL["Select All Loot"])
FilterDisableButton:SetWidth(FilterDisableButton:GetTextWidth()+20)
FilterDisableButton:SetScript("OnClick", function()
for k,v in pairs(FilterTable) do
if type(v) == "table" then
for i,j in pairs(FilterTable[k]) do
AtlasLootFilterDB[k][j] = true
end
end
end
scc:Hide()
scc:Show()
end)
local locClass,playerClass = UnitClass("player");
local ClassFilterLoadButton = CreateFrame("BUTTON", nil, scc, "UIPanelButtonTemplate")
ClassFilterLoadButton:SetHeight(20)
ClassFilterLoadButton:SetWidth(150)
ClassFilterLoadButton:SetPoint("TOPRIGHT", scc, "TOPRIGHT",0,-5)
ClassFilterLoadButton:SetText(AL["Apply Filter:"].." "..locClass)
ClassFilterLoadButton:SetWidth(ClassFilterLoadButton:GetTextWidth()+20)
ClassFilterLoadButton:SetScript("OnClick", function()
for k,v in pairs(FilterTable) do
if type(v) == "table" then
for i,j in pairs(FilterTable[k]) do
if ClassHides[playerClass][k][i] == false then
AtlasLootFilterDB[k][j] = false
else
AtlasLootFilterDB[k][j] = true
end
end
end
end
scc:Hide()
scc:Show()
end)
CreateCat(scc, "Armor")
CreateCat(scc, "WeaponsMeele")
CreateCat(scc, "WeaponsMeeleTwoHand")
CreateCat(scc, "WeaponsRanged")
CreateCat(scc, "Relics")
CreateCat(scc, "Other")
InterfaceOptions_AddCategory(FilterOptionsFrame)
OptionsLoadet = true
end
+328
View File
@@ -0,0 +1,328 @@
--[[
File containing all the Atlas replacement functions and the External API
]]
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";
--Establish number of boss lines in the Atlas frame for scrolling
local ATLAS_LOOT_BOSS_LINES = 24;
--[[
AtlasLoot_Atlas_OnShow:
Hooks Atlas_OnShow() to add extra setup routines that AtlasLoot needs for
integration purposes.
]]
function AtlasLoot_Atlas_OnShow()
Atlas_Refresh();
--We don't want Atlas and the Loot Browser open at the same time, so the Loot Browser is close
if AtlasLootDefaultFrame then
AtlasLootDefaultFrame:Hide();
AtlasLoot_SetupForAtlas();
end
--Call the Atlas function
Hooked_Atlas_OnShow();
--If we were looking at a loot table earlier in the session, it is still
--saved on the item frame, so restore it in Atlas
if AtlasLootItemsFrame.activeBoss ~= nil then
AtlasLootItemsFrame:Show();
else
--If no loot table is selected, set up icons next to boss names
for i=1,ATLAS_CUR_LINES do
if (getglobal("AtlasEntry"..i.."_Selected") and getglobal("AtlasEntry"..i.."_Selected"):IsVisible()) then
getglobal("AtlasEntry"..i.."_Loot"):Show();
getglobal("AtlasEntry"..i.."_Selected"):Hide();
end
end
end
--Consult the saved variable table to see whether to show the bottom panel
if AtlasLoot.db.profile.HidePanel == true then
AtlasLootPanel:Hide();
else
AtlasLootPanel:Show();
end
pFrame = AtlasFrame;
end
--[[
AtlasLoot_Refresh:
Replacement for Atlas_Refresh, required as the template for the boss buttons in Atlas is insufficient
Called whenever the state of Atlas changes
]]
function AtlasLoot_Refresh()
--Reset which loot page is 'current'
AtlasLootItemsFrame.activeBoss = nil;
--Get map selection info from Atlas
local zoneID = ATLAS_DROPDOWNS[AtlasOptions.AtlasType][AtlasOptions.AtlasZone];
local data = AtlasMaps;
local base = {};
--Get boss name information
for k,v in pairs(data[zoneID]) do
base[k] = v;
end
--Display the newly selected texture
AtlasMap:ClearAllPoints();
AtlasMap:SetWidth(512);
AtlasMap:SetHeight(512);
AtlasMap:SetPoint("TOPLEFT", "AtlasFrame", "TOPLEFT", 18, -84);
local builtIn = AtlasMap:SetTexture("Interface\\AddOns\\Atlas\\Images\\Maps\\"..zoneID);
--If texture was not found in the core Atlas mod, check plugins
if ( not builtIn ) then
for k,v in pairs(ATLAS_PLUGINS) do
if ( AtlasMap:SetTexture("Interface\\AddOns\\"..v.."\\Images\\"..zoneID) ) then
break;
end
end
end
--Setup info panel above boss listing
local tName = base.ZoneName[1];
if ( AtlasOptions.AtlasAcronyms and base.Acronym ~= nil) then
local _RED = "|cffcc6666";
tName = tName.._RED.." ["..base.Acronym.."]";
end
AtlasText_ZoneName_Text:SetText(tName);
local tLoc = "";
local tLR = "";
local tML = "";
local tPL = "";
if ( base.Location ) then
tLoc = ATLAS_STRING_LOCATION..": "..base.Location[1];
end
if ( base.LevelRange ) then
tLR = ATLAS_STRING_LEVELRANGE..": "..base.LevelRange;
end
if ( base.MinLevel ) then
tML = ATLAS_STRING_MINLEVEL..": "..base.MinLevel;
end
if ( base.PlayerLimit ) then
tPL = ATLAS_STRING_PLAYERLIMIT..": "..base.PlayerLimit;
end
AtlasText_Location_Text:SetText(tLoc);
AtlasText_LevelRange_Text:SetText(tLR);
AtlasText_MinLevel_Text:SetText(tML);
AtlasText_PlayerLimit_Text:SetText(tPL);
Atlastextbase = base;
--Get the size of the Atlas text to append stuff to the bottom. Looks for empty lines
--[[
local i = 1;
local j = 2;
while ( (Atlastextbase[i] ~= nil and Atlastextbase[i]~="") or (Atlastextbase[j] ~= nil and Atlastextbase[j]~="")) do
i = i + 1;
j = i + 1;
end
--Allow AtlasLoot to append any extra 'boss' entries needed to a map
if AtlasLoot_ExtraText[zoneID] ~= nil then
--Workaround for Old Hillsbrad, we don't want the Trash Mobs stuck under the 'flavour' NPCS
if zoneID == "CoTOldHillsbrad" then
Atlastextbase[22][1] = GREY..ATLASLOOT_INDENT..AL["Trash Mobs"];
else
for k,v in ipairs(AtlasLoot_ExtraText[zoneID]) do
j = i + 1;
--If the line after the empty line is not empty itself, all text below this point is shuffled down to make room
if Atlastextbase[i]~=nil and Atlastextbase[i]~="" then
Atlastextbase[j] = Atlastextbase[i];
end
Atlastextbase[i]={v, nil, nil};
i = i + 1;
end
Atlastextbase[i]={"", nil, nil};
end
end
]]--
if AtlasLoot_ExtraText[zoneID] and #Atlastextbase and #Atlastextbase > 0 then
local numContent = #Atlastextbase
-- add the extra lines
for i = 1,#AtlasLoot_ExtraText[zoneID]+1 do
Atlastextbase[numContent+i] = {"", nil, nil}
end
for k,v in ipairs(AtlasLoot_ExtraText[zoneID]) do
numContent = numContent + 1
Atlastextbase[numContent] = {v, nil, nil}
end
Atlastextbase[numContent+2]={"", nil, nil}
end
--Hide any Atlas objects lurking around that have now been replaced
for i=1,ATLAS_CUR_LINES do
if ( getglobal("AtlasEntry"..i) ) then
getglobal("AtlasEntry"..i):Hide();
end
end
ATLAS_DATA = Atlastextbase;
ATLAS_SEARCH_METHOD = data.Search;
--Deal with Atlas's search function
if ( data.Search == nil ) then
ATLAS_SEARCH_METHOD = AtlasSimpleSearch;
end
if ( data.Search ~= false ) then
AtlasSearchEditBox:Show();
AtlasNoSearch:Hide();
else
AtlasSearchEditBox:Hide();
AtlasNoSearch:Show();
ATLAS_SEARCH_METHOD = nil;
end
--populate the scroll frame entries list, the update func will do the rest
Atlas_Search("");
AtlasSearchEditBox:SetText("");
AtlasSearchEditBox:ClearFocus();
--create and align any new entry buttons that we need
for i=1,ATLAS_CUR_LINES do
local f;
if (not getglobal("AtlasBossLine"..i)) then
f = CreateFrame("Button", "AtlasBossLine"..i, AtlasFrame, "AtlasLootNewBossLineTemplate");
f:SetFrameStrata("HIGH");
if i==1 then
f:SetPoint("TOPLEFT", "AtlasScrollBar", "TOPLEFT", 16, -3);
else
f:SetPoint("TOPLEFT", "AtlasBossLine"..(i-1), "BOTTOMLEFT");
end
else
getglobal("AtlasBossLine"..i.."_Loot"):Hide();
getglobal("AtlasBossLine"..i.."_Selected"):Hide();
end
end
--Hide the loot frame now that a pristine Atlas instance is created
AtlasLootItemsFrame:Hide();
Atlas_Search("");
--Make sure the scroll bar is correctly offset
AtlasLoot_AtlasScrollBar_Update();
--see if we should display the entrance/instance button or not, and decide what it should say
local matchFound = {nil};
local sayEntrance = nil;
for k,v in pairs(Atlas_EntToInstMatches) do
if ( k == zoneID ) then
matchFound = v;
sayEntrance = false;
end
end
if ( not matchFound[1] ) then
for k,v in pairs(Atlas_InstToEntMatches) do
if ( k == zoneID ) then
matchFound = v;
sayEntrance = true;
end
end
end
--set the button's text, populate the dropdown menu, and show or hide the button
if ( matchFound[1] ~= nil ) then
ATLAS_INST_ENT_DROPDOWN = {};
for k,v in pairs(matchFound) do
table.insert(ATLAS_INST_ENT_DROPDOWN, v);
end
table.sort(ATLAS_INST_ENT_DROPDOWN, AtlasSwitchDD_Sort);
if ( sayEntrance ) then
AtlasSwitchButton:SetText(ATLAS_ENTRANCE_BUTTON);
else
AtlasSwitchButton:SetText(ATLAS_INSTANCE_BUTTON);
end
AtlasSwitchButton:Show();
UIDropDownMenu_Initialize(AtlasSwitchDD, AtlasSwitchDD_OnLoad);
else
AtlasSwitchButton:Hide();
end
if ( TitanPanelButton_UpdateButton ) then
TitanPanelButton_UpdateButton("Atlas");
end
end
--[[
AtlasLoot_AtlasScrollBar_Update:
Hooks the Atlas scroll frame.
Required as the Atlas function cannot deal with the AtlasLoot button template or the added Atlasloot entries
]]
function AtlasLoot_AtlasScrollBar_Update()
local line, lineplusoffset;
if (getglobal("AtlasBossLine1_Text") ~= nil) then
local zoneID = ATLAS_DROPDOWNS[AtlasOptions.AtlasType][AtlasOptions.AtlasZone];
--Update the contents of the Atlas scroll frame
FauxScrollFrame_Update(AtlasScrollBar,ATLAS_CUR_LINES,ATLAS_LOOT_BOSS_LINES,15);
--Make note of how far in the scroll frame we are
for line=1,ATLAS_NUM_LINES do
lineplusoffset = line + FauxScrollFrame_GetOffset(AtlasScrollBar);
if ( lineplusoffset <= ATLAS_CUR_LINES ) then
getglobal("AtlasBossLine"..line.."_Text"):SetText(ATLAS_SCROLL_LIST[lineplusoffset]);
if AtlasLootItemsFrame.activeBoss == lineplusoffset then
getglobal("AtlasBossLine"..line.."_Loot"):Hide();
getglobal("AtlasBossLine"..line.."_Selected"):Show();
elseif (AtlasLootBossButtons[zoneID]~=nil and AtlasLootBossButtons[zoneID][lineplusoffset] ~= nil and AtlasLootBossButtons[zoneID][lineplusoffset] ~= "") then
getglobal("AtlasBossLine"..line.."_Loot"):Show();
getglobal("AtlasBossLine"..line.."_Selected"):Hide();
elseif (AtlasLootWBBossButtons[zoneID]~=nil and AtlasLootWBBossButtons[zoneID][lineplusoffset] ~= nil and AtlasLootWBBossButtons[zoneID][lineplusoffset] ~= "") then
getglobal("AtlasBossLine"..line.."_Loot"):Show();
getglobal("AtlasBossLine"..line.."_Selected"):Hide();
elseif (AtlasLootBattlegrounds[zoneID]~=nil and AtlasLootBattlegrounds[zoneID][lineplusoffset] ~= nil and AtlasLootBattlegrounds[zoneID][lineplusoffset] ~= "") then
getglobal("AtlasBossLine"..line.."_Loot"):Show();
getglobal("AtlasBossLine"..line.."_Selected"):Hide();
else
getglobal("AtlasBossLine"..line.."_Loot"):Hide();
getglobal("AtlasBossLine"..line.."_Selected"):Hide();
end
getglobal("AtlasBossLine"..line).idnum = lineplusoffset;
getglobal("AtlasBossLine"..line):Show();
elseif ( getglobal("AtlasBossLine"..line) ) then
--Hide lines that are not needed
getglobal("AtlasBossLine"..line):Hide();
end
end
else
Hooked_AtlasScrollBar_Update();
end
end
--[[
AtlasLoot_ShowBossLoot(dataID, boss, pFrame):
dataID - Name of the loot table
boss - Text string to be used as the title for the loot page
pFrame - Data structure describing how and where to anchor the item frame (more details, see the function AtlasLoot_SetItemInfoFrame)
This is the intended API for external mods to use for displaying loot pages.
This function figures out where the loot table is stored, then sends the relevant info to AtlasLoot_ShowItemsFrame
]]
function AtlasLoot_ShowBossLoot(dataID, boss, pFrame)
local tableavailable = AtlasLoot_IsLootTableAvailable(dataID);
if (tableavailable) then
AtlasLootItemsFrame:Hide();
--If the loot table is already being displayed, it is hidden and the current table selection cancelled
if ( dataID == AtlasLootItemsFrame.externalBoss ) and (AtlasLootItemsFrame:GetParent() ~= AtlasFrame) and (AtlasLootItemsFrame:GetParent() ~= AtlasLootDefaultFrame_LootBackground) then
AtlasLootItemsFrame.externalBoss = nil;
else
--Use the original WoW instance data by default
local dataSource = AtlasLoot_TableNames[dataID][2];
--Set anchor point, set selected table and call AtlasLoot_ShowItemsFrame
AtlasLoot_AnchorFrame = pFrame;
AtlasLootItemsFrame.externalBoss = dataID;
AtlasLoot_ShowItemsFrame(dataID, dataSource, boss, pFrame);
end
end
end
+147
View File
@@ -0,0 +1,147 @@
--[[
Name : AtlasLootFu
Version : 2.0
Author : Daviesh (oma_daviesh@hotmail.com)
Website : http://www.atlasloot.net
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",
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();
else
if AtlasLootDefaultFrame:IsVisible() then
AtlasLootDefaultFrame:Hide();
else
AtlasLootDefaultFrame:Show();
end
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
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();
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)));
end
function AtlasLoot_MinimapButtonSetPosition(v)
if(v < 0) then
v = v + 360;
end
AtlasLoot.db.profile.MinimapButtonAngle = v;
AtlasLoot_MinimapButtonUpdatePosition();
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();
else
AtlasLootMinimapButtonFrame:Hide();
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]]
+360
View File
@@ -0,0 +1,360 @@
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local GREY = "|cff999999";
local RED = "|cffff0000";
local WHITE = "|cffFFFFFF";
local GREEN = "|cff1eff00";
local PURPLE = "|cff9F3FFF";
local BLUE = "|cff0070dd";
local ORANGE = "|cffFF8400";
local DEFAULT = "|cffFFd200";
local ParseTooltip_Enabled = false;
local AtlasLootScanTooltip = CreateFrame("GAMETOOLTIP","AtlasLootScanTooltip",nil,"GameTooltipTemplate");
AtlasLootScanTooltip:SetOwner(UIParent, "ANCHOR_NONE");
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 = getglobal("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
--------------------------------------------------------------------------------
-- Item OnEnter
-- Called when a loot item is moused over
--------------------------------------------------------------------------------
function AtlasLootItem_OnEnter()
local isItem;
AtlasLootTooltip:ClearLines();
for i=1, 30, 1 do
if (getglobal("AtlasLootTooltipTextRight"..i) ~= nil) then
getglobal("AtlasLootTooltipTextRight"..i):SetText("");
end
end
if this.itemID and (this.itemID ~= 0) then
if string.sub(this.itemID, 1, 1) == "s" then
isItem = false;
else
isItem = true;
end
if isItem then
local color = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 3, 10);
local name = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11);
if(this.itemID ~= 0 and this.itemID ~= "" and this.itemID ~= nil and AtlasLootDKPValues and AtlasLootClassPriority) then
Identifier = "Item"..this.itemID;
DKP = AtlasLootDKPValues[Identifier];
priority = AtlasLootClassPriority[Identifier];
else
DKP = nil;
priority = nil;
end
--Lootlink tooltips
if( AtlasLoot.db.profile.LootlinkTT ) then
--If we have seen the item, use the game tooltip to minimise same name item problems
if(GetItemInfo(this.itemID) ~= nil) then
getglobal(this:GetName().."_Unsafe"):Hide();
AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
AtlasLootTooltip:SetHyperlink("item:"..this.itemID..":0:0:0");
if ( AtlasLoot.db.profile.ItemIDs ) then
AtlasLootTooltip:AddLine(BLUE..AL["ItemID:"].." "..this.itemID, nil, nil, nil, 1);
end
if( this.droprate ~= nil) then
AtlasLootTooltip:AddLine(AL["Drop Rate: "]..this.droprate, 1, 1, 0);
end
if( DKP ~= nil and DKP ~= "" ) then
AtlasLootTooltip:AddLine(RED..DKP.." "..AL["DKP"], 1, 1, 0, 1);
end
if( priority ~= nil and priority ~= "" ) then
AtlasLootTooltip:AddLine(GREEN..AL["Priority:"].." "..priority, 1, 1, 0, 1);
end
AtlasLootTooltip:Show();
if((AtlasLoot.db.profile.EquipCompare and ((not EquipCompare_RegisterTooltip) or (not EquipCompare_Enabled)))) or IsShiftKeyDown() then
AtlasLootItem_ShowCompareItem(); --- CALL MISSING METHOD TO SHOW 2 TOOLTIPS (Item Compare)
end
if (LootLink_AddItem) then
LootLink_AddItem(name, this.itemID..":0:0:0", color);
end
else
getglobal(this:GetName().."_Unsafe"):Show();
AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
if (LootLink_Database and LootLink_Database[this.itemID]) then
LootLink_SetTooltip(AtlasLootTooltip, LootLink_Database[this.itemID][1], 1);
else
LootLink_SetTooltip(AtlasLootTooltip,strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11), 1);
end
if ( AtlasLoot.db.profile.ItemIDs ) then
AtlasLootTooltip:AddLine(BLUE..AL["ItemID:"].." "..this.itemID, nil, nil, nil, 1);
end
if( this.droprate ~= nil) then
AtlasLootTooltip:AddLine(AL["Drop Rate: "]..this.droprate, 1, 1, 0, 1);
end
if( DKP ~= nil and DKP ~= "" ) then
AtlasLootTooltip:AddLine(RED..DKP.." "..AL["DKP"], 1, 1, 0);
end
if( priority ~= nil and priority ~= "" ) then
AtlasLootTooltip:AddLine(GREEN..AL["Priority:"].." "..priority, 1, 1, 0);
end
AtlasLootTooltip:AddLine(" ");
AtlasLootTooltip:AddLine(AL["You can right-click to attempt to query the server. You may be disconnected."], nil, nil, nil, 1);
AtlasLootTooltip:Show();
end
--Item Sync tooltips
elseif( AtlasLoot.db.profile.ItemSyncTT ) then
if(GetItemInfo(this.itemID) ~= nil) then
getglobal(this:GetName().."_Unsafe"):Hide();
end
ItemSync:ButtonEnter();
if ( AtlasLoot.db.profile.ItemIDs ) then
GameTooltip:AddLine(BLUE..AL["ItemID:"].." "..this.itemID, nil, nil, nil, 1);
end
if( this.droprate ~= nil) then
GameTooltip:AddLine(AL["Drop Rate: "]..this.droprate, 1, 1, 0);
end
if( DKP ~= nil and DKP ~= "" ) then
GameTooltip:AddLine(RED..DKP.." "..AL["DKP"], 1, 1, 0);
end
if( priority ~= nil and priority ~= "" ) then
GameTooltip:AddLine(GREEN..AL["Priority:"].." "..priority, 1, 1, 0);
end
GameTooltip:Show();
if((AtlasLoot.db.profile.EquipCompare and ((not EquipCompare_RegisterTooltip) or (not EquipCompare_Enabled)))) or IsShiftKeyDown() then
GameTooltip_ShowCompareItem(); --- CALL MISSING METHOD TO SHOW 2 TOOLTIPS (Item Compare)
end
--Default game tooltips
else
if(this.itemID ~= nil) then
if(GetItemInfo(this.itemID) ~= nil) then
getglobal(this:GetName().."_Unsafe"):Hide();
AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
AtlasLootTooltip:SetHyperlink("item:"..this.itemID..":0:0:0");
if ( AtlasLoot.db.profile.ItemIDs ) then
AtlasLootTooltip:AddLine(BLUE..AL["ItemID:"].." "..this.itemID, nil, nil, nil, 1);
end
if( this.droprate ~= nil) then
AtlasLootTooltip:AddLine(AL["Drop Rate: "]..this.droprate, 1, 1, 0);
end
if( DKP ~= nil and DKP ~= "" ) then
AtlasLootTooltip:AddLine(RED..DKP.." "..AL["DKP"], 1, 1, 0);
end
if( priority ~= nil and priority ~= "" ) then
AtlasLootTooltip:AddLine(GREEN..AL["Priority:"].." "..priority, 1, 1, 0);
end
AtlasLootTooltip:Show();
if((AtlasLoot.db.profile.EquipCompare and ((not EquipCompare_RegisterTooltip) or (not EquipCompare_Enabled)))) or IsShiftKeyDown() then
AtlasLootItem_ShowCompareItem(); --- CALL MISSING METHOD TO SHOW 2 TOOLTIPS (Item Compare)
end
else
AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
AtlasLootTooltip:ClearLines();
AtlasLootTooltip:AddLine(RED..AL["Item Unavailable"], nil, nil, nil, 1);
AtlasLootTooltip:AddLine(BLUE..AL["ItemID:"].." "..this.itemID, nil, nil, nil, 1);
AtlasLootTooltip:AddLine(AL["This item is unsafe. To view this item without the risk of disconnection, you need to have first seen it in the game world. This is a restriction enforced by Blizzard since Patch 1.10."], nil, nil, nil, 1);
AtlasLootTooltip:AddLine(" ");
AtlasLootTooltip:AddLine(AL["You can right-click to attempt to query the server. You may be disconnected."], nil, nil, nil, 1);
AtlasLootTooltip:Show();
end
end
end
else
spellID = string.sub(this.itemID, 2);
AtlasLootTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 24);
AtlasLootTooltip:ClearLines();
AtlasLootTooltip:SetHyperlink(AtlasLoot_GetEnchantLink(spellID));
AtlasLootTooltip:Show();
if(this.spellitemID and ((AtlasLoot.db.profile.EquipCompare and ((not EquipCompare_RegisterTooltip) or (not EquipCompare_Enabled))) or IsShiftKeyDown())) then
AtlasLootItem_ShowCompareItem(); --- CALL MISSING METHOD TO SHOW 2 TOOLTIPS (Item Compare)
end
end
end
end
--------------------------------------------------------------------------------
-- Item OnLeave
-- Called when the mouse cursor leaves a loot item
--------------------------------------------------------------------------------
function AtlasLootItem_OnLeave()
--Hide the necessary tooltips
if( AtlasLoot.db.profile.LootlinkTT ) then
AtlasLootTooltip:Hide();
elseif( AtlasLoot.db.profile.ItemSyncTT ) then
if(GameTooltip:IsVisible()) then
GameTooltip:Hide();
end
else
if(this.itemID ~= nil) then
AtlasLootTooltip:Hide();
GameTooltip:Hide();
end
end
if ( ShoppingTooltip2:IsVisible() or ShoppingTooltip1.IsVisible) then
ShoppingTooltip2:Hide();
ShoppingTooltip1:Hide();
end
end
--------------------------------------------------------------------------------
-- Item OnClick
-- Called when a loot item is clicked on
--------------------------------------------------------------------------------
function AtlasLootItem_OnClick(arg1)
local isItem;
local color = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 1, 10);
local id = this:GetID();
local name = strsub(getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), 11);
if string.sub(this.itemID, 1, 1) == "s" then
isItem = false;
else
isItem = true;
end
if isItem then
local iteminfo = GetItemInfo(this.itemID);
local itemName, itemLink, itemQuality, itemLevel, itemMinLevel, itemType, itemSubType, itemCount, itemEquipLoc, itemTexture = GetItemInfo(this.itemID);
--If shift-clicked, link in the chat window
if(arg1=="RightButton" and not iteminfo and this.itemID ~= 0) then
AtlasLootTooltip:SetHyperlink("item:"..this.itemID..":0:0:0:0:0:0:0");
if not AtlasLoot.db.profile.ItemSpam then
DEFAULT_CHAT_FRAME:AddMessage(AL["Server queried for "]..color.."["..name.."]".."|r"..AL[". Right click on any other item to refresh the loot page."]);
end
AtlasLootItemsFrame:Hide();
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
elseif(arg1=="RightButton" and iteminfo) then
AtlasLootItemsFrame:Hide();
AtlasLoot_ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
if not AtlasLoot.db.profile.ItemSpam then
DEFAULT_CHAT_FRAME:AddMessage(itemLink..AL[" is safe."]);
end
elseif(IsShiftKeyDown() and iteminfo and (AtlasLoot.db.profile.SafeLinks or AtlasLoot.db.profile.AllLinks)) then
ChatEdit_InsertLink(itemLink);
elseif(IsShiftKeyDown() and AtlasLoot.db.profile.AllLinks) then
ChatEdit_InsertLink(color.."|Hitem:"..this.itemID..":0:0:0:0:0:0:0|h["..name.."]|h|r");
elseif(ChatFrameEditBox and ChatFrameEditBox:IsVisible() and IsShiftKeyDown()) then
ChatFrameEditBox:Insert(name); -- <-- this line just inserts plain text, does not need any adjustment
--If control-clicked, use the dressing room
elseif(IsControlKeyDown() and iteminfo) then
DressUpItemLink(itemLink);
elseif(IsAltKeyDown() and (this.itemID ~= 0)) then
if AtlasLootItemsFrame.refresh[1] == "WishList" then
AtlasLoot_DeleteFromWishList(this.itemID);
elseif AtlasLootItemsFrame.refresh[1] == "SearchResult" then
AtlasLoot:GetOriginalDataFromSearchResult(this.itemID);
else
AtlasLoot_ShowWishListDropDown(this.itemID, this.itemTexture, getglobal("AtlasLootItem_"..this:GetID().."_Name"):GetText(), AtlasLoot_BossName:GetText(), AtlasLootItemsFrame.refreshOri[1].."|"..AtlasLootItemsFrame.refreshOri[2], this);
end
elseif((AtlasLootItemsFrame.refresh[1] == "SearchResult" or AtlasLootItemsFrame.refresh[1] == "WishList") and this.sourcePage) then
local dataID, dataSource = strsplit("|", this.sourcePage);
if(dataID and dataSource and AtlasLoot_IsLootTableAvailable(dataID)) then
AtlasLoot_ShowItemsFrame(dataID, dataSource, AtlasLoot_TableNames[dataID][1], AtlasLootItemsFrame.refresh[4]);
end
end
else
if IsShiftKeyDown() then
spellID = string.sub(this.itemID, 2);
ChatEdit_InsertLink(AtlasLoot_GetEnchantLink(spellID));
elseif(IsAltKeyDown() and (this.itemID ~= 0)) then
if AtlasLootItemsFrame.refresh[1] == "WishList" then
AtlasLoot_DeleteFromWishList(this.itemID);
else
spellName, _, _, _, _, _, _, _, _ = GetSpellInfo(string.sub(this.itemID, 2));
--spellIcon = GetItemIcon(this.dressingroomID);
AtlasLoot_ShowWishListDropDown(this.itemID, this.dressingroomID, "=ds="..spellName, "=ds="..AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refreshOri[1].."|"..AtlasLootItemsFrame.refreshOri[2],this);
end
elseif(IsControlKeyDown()) then
DressUpItemLink("item:"..this.dressingroomID..":0:0:0:0:0:0:0");
elseif((AtlasLootItemsFrame.refresh[1] == "SearchResult" or AtlasLootItemsFrame.refresh[1] == "WishList") and this.sourcePage) then
local dataID, dataSource = strsplit("|", this.sourcePage);
if(dataID and dataSource and AtlasLoot_IsLootTableAvailable(dataID)) then
AtlasLoot_ShowItemsFrame(dataID, dataSource, AtlasLootItemsFrame.refresh[3], AtlasLootItemsFrame.refresh[4]);
end
end
end
end
-------
-- Missing GameToolTip method
-- Enables item comparing. I've ripped this method directly from GameTooltip.lua and modified to work with AtlasLootTooltip /siena
-------
function AtlasLootItem_ShowCompareItem()
local shift = 1;
local item,link = nil,nil
if this.spellitemID and this.spellitemID ~= "" and this.spellitemID ~= 0 then
item = AtlasLootTooltip:GetSpell()
_,link = GetItemInfo(this.spellitemID)
else
item,link = AtlasLootTooltip:GetItem();
end
if ( not link ) then
return
end
ShoppingTooltip1:SetOwner(AtlasLootTooltip, "ANCHOR_NONE");
ShoppingTooltip2:SetOwner(AtlasLootTooltip, "ANCHOR_NONE");
ShoppingTooltip3:SetOwner(AtlasLootTooltip, "ANCHOR_NONE");
local item1 = nil;
local item2 = nil;
local item3 = nil;
local side = "left";
if ( ShoppingTooltip1:SetHyperlinkCompareItem(link, 1, 1, AtlasLootTooltip) ) then
item1 = true;
end
if ( ShoppingTooltip2:SetHyperlinkCompareItem(link, 2, 1, AtlasLootTooltip) ) then
item2 = true;
end
if ( ShoppingTooltip3:SetHyperlinkCompareItem(link, 3, 1, AtlasLootTooltip) ) then
item3 = true;
end
if not item1 and not item2 and not item3 then
return
end
if item3 then
if not item1 then
item1, item3 = true, nil;
ShoppingTooltip1:SetHyperlinkCompareItem(link, 3, 1, AtlasLootTooltip);
elseif not item2 then
item2, item3 = true, nil;
ShoppingTooltip2:SetHyperlinkCompareItem(link, 3, 1, AtlasLootTooltip);
end
end
if item2 and not item1 then
item1, item2 = true, nil;
ShoppingTooltip1:SetHyperlinkCompareItem(link, 2, 1, AtlasLootTooltip);
end
local left, right, anchor1, anchor2 = AtlasLootTooltip:GetLeft(), AtlasLootTooltip:GetRight(), "TOPLEFT", "TOPRIGHT";
if not left or not right then return end
if (GetScreenWidth() - right) < left then anchor1, anchor2 = anchor2, anchor1 end
if item1 then
ShoppingTooltip1:ClearAllPoints();
ShoppingTooltip1:SetPoint(anchor1, AtlasLootTooltip, anchor2, 0, -10);
ShoppingTooltip1:Show();
if item2 then
ShoppingTooltip2:ClearAllPoints();
ShoppingTooltip2:SetPoint(anchor1, ShoppingTooltip1, anchor2);
ShoppingTooltip2:Show();
end
if item3 then
ShoppingTooltip3:ClearAllPoints();
ShoppingTooltip3:SetPoint(anchor1, ShoppingTooltip2, anchor2);
ShoppingTooltip3:Show();
end
end
end
+311
View File
@@ -0,0 +1,311 @@
--[[
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_ItemSpam()
AtlasLootOptions_MinimapToggle()
AtlasLootOptions_LoDSpam()
AtlasLootOptions_LoDStartup()
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";
--Invoke libraries
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
function AtlasLoot_OptionsPanelOnLoad(panel)
panel.name=AL["AtlasLoot"];
InterfaceOptions_AddCategory(panel);
end
function AtlasLootOptions_Init()
--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);
AtlasLootOptionsFrameItemID:SetChecked(AtlasLoot.db.profile.ItemIDs);
AtlasLootOptionsFrameItemSpam:SetChecked(AtlasLoot.db.profile.ItemSpam);
AtlasLootOptionsFrameLoDStartup:SetChecked(AtlasLoot.db.profile.LoadAllLoDStartup);
AtlasLootOptionsFrameHidePanel:SetChecked(AtlasLoot.db.profile.HidePanel);
AtlasLootOptionsFrameLootBrowserScale:SetValue(AtlasLoot.db.profile.LootBrowserScale);
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;
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);
end
AtlasLootOptions_Init();
end
function AtlasLootOptions_ItemSpam()
if (AtlasLoot.db.profile.ItemSpam) then
AtlasLoot.db.profile.ItemSpam = false;
else
AtlasLoot.db.profile.ItemSpam = true;
end
AtlasLootOptions_Init();
end
function AtlasLootOptions_LoDStartup()
if (AtlasLoot.db.profile.LoadAllLoDStartup) then
AtlasLoot.db.profile.LoadAllLoDStartup = false;
else
AtlasLoot.db.profile.LoadAllLoDStartup = true;
end
AtlasLootOptions_Init();
end
function AtlasLootOptions_ItemIDToggle()
AtlasLoot.db.profile.ItemIDs=AtlasLootOptionsFrameItemID:GetChecked();
AtlasLootOptions_Init();
end
function AtlasLoot_SetupLootBrowserSlider(frame, mymin, mymax, step)
getglobal(frame:GetName().."Text"):SetText(AL["Loot Browser Scale: "].." ("..frame:GetValue()..")");
frame:SetMinMaxValues(mymin, mymax);
getglobal(frame:GetName().."Low"):SetText(mymin);
getglobal(frame:GetName().."High"):SetText(mymax);
frame:SetValueStep(step);
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;
end
function AtlasLoot_UpdateLootBrowserSlider(frame)
getglobal(frame:GetName().."Text"):SetText(AL["Loot Browser Scale: "].." ("..round(frame:GetValue(),2)..")");
end
function AtlasLoot_UpdateLootBrowserScale()
AtlasLootDefaultFrame:SetScale(AtlasLoot.db.profile.LootBrowserScale);
end
function AtlasLoot_DisplayHelp()
if not getglobal("AtlasLootHelpFrame_HelpText") then
local framewidht = InterfaceOptionsFramePanelContainer:GetWidth()
local panel3 = CreateFrame("ScrollFrame", "AtlasLootHelpFrame_HelpTextFrameScroll", AtlasLootHelpFrame, "UIPanelScrollFrameTemplate")
local scc = CreateFrame("Frame", "AtlasLootHelpFrame_HelpTextFrame", panel3)
panel3:SetScrollChild(scc)
panel3:SetPoint("TOPLEFT", AtlasLootHelpFrame, "TOPLEFT", 10, -25)
scc:SetPoint("TOPLEFT", panel3, "TOPLEFT", 0, 0)
panel3:SetWidth(framewidht-45)
panel3:SetHeight(400)
scc:SetWidth(framewidht-45)
scc:SetHeight(400)
panel3:SetHorizontalScroll(-50)
panel3:SetVerticalScroll(50)
panel3:SetBackdrop({bgFile="Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="", tile = false, tileSize = 0, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 }})
panel3:SetScript("OnVerticalScroll", function() end)
panel3:EnableMouse(true)
panel3:SetVerticalScroll(0)
panel3:SetHorizontalScroll(0)
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 'unsafe' item:"].."\n"..
WHITE..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."].."\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 add an item to the wishlist:"].."\n"..
WHITE..AL["Alt+Left Click any item to add it to the 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"..
WHITE..AL["If you Left Click any item on the wishlist, you can jump to the loot page the item comes from. Also, on a loot page any item already in your wishlist is marked with a yellow star."].."\n\n"..
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.."http://www.atlasloot.net"
);
Text:SetWidth(framewidht-80)
Text:SetJustifyH("LEFT")
Text:SetJustifyV("TOP")
end
end
--[[
AtlasLoot_CreateOptionsInfoTooltips()
Adds explanatory tooltips to Atlasloot options
]]
function AtlasLoot_CreateOptionsInfoTooltips()
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
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("AtlasLootOptionsFrameHidePanel", nil) -- AL["Hide AtlasLoot Panel"]
AtlasLoot_AddTooltip("AtlasLootOptionsFrameItemSpam", nil) -- AL["Suppress Item Query Text"]
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)
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);
AtlasLoot_CraftingLink_Label:SetText(AL["Treat Crafted Items:"]);
UIDropDownMenu_Initialize(AtlasLoot_CraftingLink, AtlasLoot_CraftingLink_Initialize);
UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, AtlasLoot.db.profile.CraftingLink);
UIDropDownMenu_SetWidth(AtlasLoot_CraftingLink, 150);
end
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_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");
end
AtlasLoot_OptionsOnShow();
end
function AtlasLoot_CraftingLink_Initialize()
local info;
info = {
text = AL["As Crafting Spells"];
func = AtlasLoot_CraftingLink_OnClick;
};
UIDropDownMenu_AddButton(info);
info = {
text = AL["As Items"];
func = AtlasLoot_CraftingLink_OnClick;
};
UIDropDownMenu_AddButton(info);
end
function AtlasLoot_CraftingLink_OnClick()
local thisID = this:GetID();
UIDropDownMenu_SetSelectedID(AtlasLoot_CraftingLink, thisID);
AtlasLoot.db.profile.CraftingLink = 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
local Authors = {
["Calî"] = "Arthas",
["Lâg"] = "Arthas",
--["Daviesh"] = "Thaurissan",
["Hegarol"] = "Dun Morogh",
}
function AtlasLoot_UnitTarget()
local name = GameTooltip:GetUnit()
if UnitName("mouseover") == name then
local _, realm = UnitName("mouseover")
if not realm then
realm = GetRealmName()
end;
if name and Authors[name] then
if Authors[name] == realm then
GameTooltip:AddLine("AtlasLoot Author |TInterface\\AddOns\\AtlasLoot\\Images\\gold:0|t", 0, 1, 0 )
end
end
end
end
GameTooltip:HookScript("OnTooltipSetUnit", AtlasLoot_UnitTarget)
+196
View File
@@ -0,0 +1,196 @@
local GREY = "|cff999999";
local RED = "|cffff0000";
local WHITE = "|cffFFFFFF";
local GREEN = "|cff1eff00";
local PURPLE = "|cff9F3FFF";
local BLUE = "|cff0070dd";
local ORANGE = "|cffFF8400";
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local modules = { "AtlasLoot_BurningCrusade", "AtlasLoot_Crafting", "AtlasLoot_OriginalWoW", "AtlasLoot_WorldEvents", "AtlasLoot_WrathoftheLichKing" };
local currentPage = 1;
local SearchResult = nil;
function AtlasLoot:ShowSearchResult()
AtlasLoot_ShowItemsFrame("SearchResult", "SearchResultPage"..currentPage, (AL["Search Result: %s"]):format(AtlasLootCharDB.LastSearchedText or ""), pFrame);
end
function AtlasLoot:Search(Text)
if not Text then return end
Text = strtrim(Text);
if Text == "" then return end
-- Decide if we need load all modules or just specified ones
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;
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;
end
if self.db.profile.SearchOn.All then
AtlasLoot_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."]);
end
end
end
AtlasLootCharDB["SearchResult"] = {};
AtlasLootCharDB.LastSearchedText = Text;
local text = string.lower(Text);
--[[if not self.db.profile.SearchOn.All then
local module = AtlasLoot_GetLODModule(dataSource);
if not module or self.db.profile.SearchOn[module] ~= true then return end
end]]
local partial = self.db.profile.PartialMatching;
for dataID, data in pairs(AtlasLoot_Data) do
for _, v in ipairs(data) do
if type(v[2]) == "number" and v[2] > 0 then
local itemName = GetItemInfo(v[2]);
if not itemName then itemName = gsub(v[4], "=q%d=", "") end
local found;
if partial then
found = string.find(string.lower(itemName), text);
else
found = string.lower(itemName) == text;
end
if found then
local _, _, quality = string.find(v[4], "=q(%d)=");
if quality then itemName = "=q"..quality.."="..itemName end
if AtlasLoot_TableNames[dataID] then lootpage = AtlasLoot_TableNames[dataID][1]; else lootpage = "Argh!"; end
table.insert(AtlasLootCharDB["SearchResult"], { 0, v[2], v[3], itemName, lootpage, "", "", dataID.."|".."\"\"" });
end
elseif (v[2] ~= nil) and (v[2] ~= "") and (string.sub(v[2], 1, 1) == "s") then
local spellName = GetSpellInfo(string.sub(v[2], 2));
if not spellName then
if (string.sub(v[4], 1, 2) == "=d") then
spellName = gsub(v[4], "=ds=", "");
else
spellName = gsub(v[4], "=q%d=", "");
end
end
local found;
if partial then
found = string.find(string.lower(spellName), text);
else
found = string.lower(spellName) == text;
end
if found then
spellName = string.sub(v[4], 1, 4)..spellName;
if AtlasLoot_TableNames[dataID][1] then lootpage = AtlasLoot_TableNames[dataID][1]; else lootpage = "Argh!"; end
table.insert(AtlasLootCharDB["SearchResult"], { 0, v[2], v[3], spellName, lootpage, "", "", dataID.."|".."\"\"" });
end
end
end
end
if #AtlasLootCharDB["SearchResult"] == 0 then
DEFAULT_CHAT_FRAME:AddMessage(RED..AL["AtlasLoot"]..": "..WHITE..AL["No match found for"].." \""..Text.."\".");
else
currentPage = 1;
SearchResult = AtlasLoot_CategorizeWishList(AtlasLootCharDB["SearchResult"]);
AtlasLoot_ShowItemsFrame("SearchResult", "SearchResultPage1", (AL["Search Result: %s"]):format(AtlasLootCharDB.LastSearchedText or ""), pFrame);
end
end
function AtlasLoot:ShowSearchOptions(button)
local dewdrop = AceLibrary("Dewdrop-2.0");
if dewdrop:IsOpen(button) then
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", 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
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,
"tooltipText", notes,
"func", function()
if self.db.profile.SearchOn[module] == nil then
self.db.profile.SearchOn[module] = true;
else
self.db.profile.SearchOn[module] = nil;
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.db.profile.PartialMatching = not self.db.profile.PartialMatching 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);
end
end
end
-- Copied and modified from AtlasLoot_GetWishListPage
function AtlasLoot:GetSearchResultPage(page)
if not SearchResult then SearchResult = AtlasLoot_CategorizeWishList(AtlasLootCharDB["SearchResult"]) end
-- Calc for maximal pages
local pageMax = math.ceil(#SearchResult / 30);
if page < 1 then page = 1 end
if page > pageMax then page = pageMax end
currentPage = page;
-- Table copy
local k=1;
local result = {};
local start = (page - 1) * 30 + 1;
for i = start, start + 29 do
if not SearchResult[i] then break end
SearchResult[i][1] = k;
table.insert(result, SearchResult[i]);
k=k+1;
end
return result, pageMax;
end
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,494 @@
--[[
Functions:
AtlasLoot_DewDropClick(tablename, text, tabletype)
AtlasLoot_DewDropSubMenuClick(tablename, text)
AtlasLoot_DefaultFrame_OnShow()
AtlasLootDefaultFrame_OnHide()
AtlasLoot_DewdropSubMenuRegister(loottable)
AtlasLoot_DewdropRegister()
AtlasLoot_SetNewStyle(style)
]]
--Include all needed libraries
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
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_Data["AtlasLootFallback"] = {
EmptyInstance = {};
};
--[[
AtlasLoot_DewDropClick(tablename, text, tabletype):
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
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
AtlasLoot_ShowItemsFrame(tablename, "", text, pFrame);
--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
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];
--Load the correct submenu and associated with the button
AtlasLoot_DewdropSubMenu:Unregister(AtlasLootDefaultFrame_SubMenu);
AtlasLoot_DewdropSubMenuRegister(AtlasLoot_DewDropDown_SubTables[tablename]);
--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();
end
--Show the category that has been selected
AtlasLootDefaultFrame_SelectedCategory:SetText(text);
AtlasLootDefaultFrame_SelectedCategory:Show();
AtlasLoot_Dewdrop:Close(1);
end
--[[
AtlasLoot_DewDropSubMenuClick(tablename, text):
tablename - Name of the loot table in the database
text - Heading for the loot table
Called when a button in AtlasLoot_DewdropSubMenu is clicked
]]
function AtlasLoot_DewDropSubMenuClick(tablename, text)
--Definition of where I want the loot table to be shown
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
--Show the select loot table
AtlasLoot_ShowItemsFrame(tablename, "", text, pFrame);
--Save needed info for fuure re-display of the table
AtlasLoot.db.profile.LastBoss = tablename;
--Show the table that has been selected
if text ~= "" then
AtlasLootDefaultFrame_SelectedTable:SetText(text);
else
AtlasLootDefaultFrame_SelectedTable:SetText(AtlasLoot_TableNames[tablename][1]);
end
AtlasLootDefaultFrame_SelectedTable:Show();
AtlasLoot_DewdropSubMenu:Close(1);
end
--[[
AtlasLootDefaultFrame_OnShow:
Called whenever the loot browser is shown and sets up buttons and loot tables
]]
function AtlasLootDefaultFrame_OnShow()
--Definition of where I want the loot table to be shown
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
--Having the Atlas and loot browser frames shown at the same time would
--cause conflicts, so I hide the Atlas frame when the loot browser appears
if AtlasFrame then
AtlasFrame:Hide();
end
--Remove the selection of a loot table in Atlas
AtlasLootItemsFrame.activeBoss = nil;
--Set the item table to the loot table
AtlasLoot_SetItemInfoFrame(pFrame);
--Show the last displayed loot table
if AtlasLoot_IsLootTableAvailable(AtlasLoot.db.profile.LastBoss) then
AtlasLoot_ShowBossLoot(AtlasLoot.db.profile.LastBoss, "", pFrame);
else
AtlasLoot_ShowBossLoot("EmptyTable", AL["Select a Loot Table..."], pFrame);
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()
if AtlasFrame then
AtlasLoot_SetupForAtlas();
end
AtlasLoot_Dewdrop:Close(1);
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,
'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],
'func', AtlasLoot_DewDropSubMenuClick,
'arg1', v[2],
'arg2', v[1],
'notCheckable', true
)
end
end
AtlasLoot_DewdropSubMenu:AddLine(
'text', AL["Close Menu"],
'textR', 0,
'textG', 1,
'textB', 1,
'func', function() AtlasLoot_DewdropSubMenu:Close() end,
'notCheckable', true
)
end
end,
'dontHook', true
)
end
--[[
AtlasLoot_DewdropRegister:
Constructs the main category menu from a tiered table
]]
function AtlasLoot_DewdropRegister()
AtlasLoot_Dewdrop:Register(AtlasLootDefaultFrame_Menu,
'point', function(parent)
return "TOP", "BOTTOM"
end,
'children', function(level, value)
if level == 1 then
if AtlasLoot_DewDropDown then
for k,v in ipairs(AtlasLoot_DewDropDown) do
--If a link to show a submenu
if (type(v[1]) == "table") and (type(v[1][1]) == "string") then
local checked = false;
if v[1][3] == "Submenu" then
AtlasLoot_Dewdrop:AddLine(
'text', v[1][1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'notCheckable', true
)
elseif v[1][3] == "Table" and v[1][1] ~= "" then
AtlasLoot_Dewdrop:AddLine(
'text', v[1][1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'notCheckable', true
)
end
else
local lock=0;
--If an entry linked to a subtable
for i,j in pairs(v) do
if lock==0 then
AtlasLoot_Dewdrop:AddLine(
'text', i,
'textR', 1,
'textG', 0.82,
'textB', 0,
'hasArrow', true,
'value', j,
'notCheckable', true
)
lock=1;
end
end
end
end
end
--Close button
AtlasLoot_Dewdrop:AddLine(
'text', AL["Close Menu"],
'textR', 0,
'textG', 1,
'textB', 1,
'func', function() AtlasLoot_Dewdrop:Close() end,
'notCheckable', true
)
elseif level == 2 then
if value then
for k,v in ipairs(value) do
if type(v) == "table" then
if (type(v[1]) == "table") and (type(v[1][1]) == "string") then
local checked = false;
--If an entry to show a submenu
if v[1][3] == "Submenu" then
AtlasLoot_Dewdrop:AddLine(
'text', v[1][1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'notCheckable', true
)
--An entry to show a specific loot page
elseif v[1][3] == "Table" and v[1][1] == "" then
AtlasLoot_Dewdrop:AddLine(
'text', AtlasLoot_TableNames[v[1][2]][1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'notCheckable', true
)
else
AtlasLoot_Dewdrop:AddLine(
'text', v[1][1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[1][2],
'arg2', v[1][1],
'arg3', v[1][3],
'notCheckable', true
)
end
else
local lock=0;
--Entry to link to a sub table
for i,j in pairs(v) do
if lock==0 then
AtlasLoot_Dewdrop:AddLine(
'text', i,
'textR', 1,
'textG', 0.82,
'textB', 0,
'hasArrow', true,
'value', j,
'notCheckable', true
)
lock=1;
end
end
end
end
end
end
AtlasLoot_Dewdrop:AddLine(
'text', AL["Close Menu"],
'textR', 0,
'textG', 1,
'textB', 1,
'func', function() AtlasLoot_Dewdrop:Close() end,
'notCheckable', true
)
elseif level == 3 then
--Essentially the same as level == 2
if value then
for k,v in pairs(value) do
if type(v[1]) == "string" then
local checked = false;
if v[3] == "Submenu" then
AtlasLoot_Dewdrop:AddLine(
'text', v[1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[2],
'arg2', v[1],
'arg3', v[3],
'notCheckable', true
)
elseif v[3] == "Table" and v[1] == "" then
AtlasLoot_Dewdrop:AddLine(
'text', AtlasLoot_TableNames[v[2]][1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[2],
'arg2', v[1],
'arg3', v[3],
'notCheckable', true
)
else
AtlasLoot_Dewdrop:AddLine(
'text', v[1],
'textR', 1,
'textG', 0.82,
'textB', 0,
'func', AtlasLoot_DewDropClick,
'arg1', v[2],
'arg2', v[1],
'arg3', v[3],
'notCheckable', true
)
end
elseif type(v) == "table" then
AtlasLoot_Dewdrop:AddLine(
'text', k,
'textR', 1,
'textG', 0.82,
'textB', 0,
'hasArrow', true,
'value', v,
'notCheckable', true
)
end
end
end
AtlasLoot_Dewdrop:AddLine(
'text', AL["Close Menu"],
'textR', 0,
'textG', 1,
'textB', 1,
'func', function() AtlasLoot_Dewdrop:Close() end,
'notCheckable', true
)
end
end,
'dontHook', true
)
end
--[[
AtlasLoot_SetNewStyle:
Create the new Default Frame style
style = "new"
style = "old"
]]
function AtlasLoot_SetNewStyle(style)
local buttons = {
"AtlasLootDefaultFrame_Options",
"AtlasLootDefaultFrame_LoadModules",
"AtlasLootDefaultFrame_Menu",
"AtlasLootDefaultFrame_SubMenu",
"AtlasLootDefaultFrame_Preset1",
"AtlasLootDefaultFrame_Preset2",
"AtlasLootDefaultFrame_Preset3",
"AtlasLootDefaultFrame_Preset4",
"AtlasLootDefaultFrameSearchButton",
"AtlasLootDefaultFrameSearchClearButton",
"AtlasLootDefaultFrameLastResultButton",
"AtlasLootDefaultFrameWishListButton"
}
if style == "new" then
AtlasLootDefaultFrame_LootBackground:SetBackdrop({bgFile = "Interface/AchievementFrame/UI-Achievement-StatsBackground"});
AtlasLootDefaultFrame_LootBackground:SetBackdropColor(1,1,1,0.5)
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)
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)
local function SetButtons(path)
getglobal(path):SetNormalTexture("Interface/AchievementFrame/UI-Achievement-Category-Background")
getglobal(path):SetHeight(24)
getglobal(path):SetPushedTexture("Interface/AchievementFrame/UI-Achievement-Category-Background")
getglobal(path):SetHeight(24)
local tex = getglobal(path):GetNormalTexture();
tex:SetTexCoord(0, 0.6640625, 0, 0.8);
tex:SetHeight(32)
local tex2 = getglobal(path):GetPushedTexture();
tex2:SetTexCoord(0, 0.6640625, 0, 0.8);
tex2:SetHeight(32)
end
for k,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)
getglobal(path):SetNormalTexture("Interface/Buttons/UI-Panel-Button-Up")
getglobal(path):SetHeight(20)
getglobal(path):SetPushedTexture("Interface/Buttons/UI-Panel-Button-Down")
getglobal(path):SetHeight(20)
local tex = getglobal(path):GetNormalTexture();
tex:SetTexCoord(0, 0.625, 0, 0.6875);
tex:SetHeight(20)
local tex2 = getglobal(path):GetPushedTexture();
tex2:SetTexCoord(0, 0.625, 0, 0.6875);
tex2:SetHeight(20)
end
for k,v in pairs(buttons) do
SetButtons(v)
end
end
end
@@ -0,0 +1,529 @@
<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/">
<Script file="DewDropDown.lua"/>
<Script file="AtlaslootDefaultFrame.lua"/>
<Button name="AtlasLootDefaultFrameButtonTemplate" inherits="OptionsButtonTemplate" virtual="true">
<Size>
<AbsDimension x="105" y="20"/>
</Size>
</Button>
<Frame name="AtlasLootDefaultFrame" toplevel="true" movable="true" enableMouse="true" hidden="true" parent="UIParent" enableKeyboard="true">
<Size>
<AbsDimension x="600" y="690"/>
</Size>
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
<BackgroundInsets>
<AbsInset left="11" right="12" top="12" bottom="11"/>
</BackgroundInsets>
<TileSize>
<AbsValue val="32"/>
</TileSize>
<EdgeSize>
<AbsValue val="32"/>
</EdgeSize>
</Backdrop>
<Frames>
<Button name="$parent_CloseButton" inherits="UIPanelCloseButton">
<Anchors>
<Anchor point="TOPRIGHT" relativeTo="AtlasLootDefaultFrame" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-10" y="-10"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
AtlasLootDefaultFrame:Hide();
</OnClick>
<OnShow>
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
<Button name="$parent_LoadModules" inherits="AtlasLootDefaultFrameButtonTemplate">
<Anchors>
<Anchor point="TOPRIGHT" relativeTo="$parent" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-38" y="-15"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
AtlasLoot_LoadAllModules();
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Load Modules"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
<Button name="$parent_Options" inherits="AtlasLootDefaultFrameButtonTemplate">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parent" relativePoint="TOPLEFT">
<Offset>
<AbsDimension x="15" y="-15"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
AtlasLootOptions_Toggle();
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Options"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
<Button name="$parent_Menu" inherits="OptionsButtonTemplate">
<Size>
<AbsDimension x="130" y="20"/>
</Size>
<Anchors>
<Anchor point="TOP" relativeTo="$parent" relativePoint="TOP">
<Offset>
<AbsDimension x="-130" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
if AtlasLoot_Dewdrop:IsOpen() then
AtlasLoot_Dewdrop:Close();
else
AtlasLoot_Dewdrop:Open(this);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Select Loot Table"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
<Button name="$parent_SubMenu" inherits="OptionsButtonTemplate">
<Size>
<AbsDimension x="130" y="20"/>
</Size>
<Anchors>
<Anchor point="TOP" relativeTo="$parent" relativePoint="TOP">
<Offset>
<AbsDimension x="130" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
if AtlasLoot_DewdropSubMenu:IsOpen() then
AtlasLoot_DewdropSubMenu:Close();
else
AtlasLoot_DewdropSubMenu:Open(this);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Select Sub-Table"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
<Frame name="$parent_LootBackground">
<Size>
<AbsDimension x="515" y="515"/>
</Size>
<Anchors>
<Anchor point="BOTTOM" relativeTo="$parent" relativePoint="BOTTOM">
<Offset>
<AbsDimension x="0" y="90"/>
</Offset>
</Anchor>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture name="$parent_Back">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parent" relativePoint="TOPLEFT"/>
<Anchor point="BOTTOMRIGHT" relativeTo="$parent" relativePoint="BOTTOMRIGHT"/>
</Anchors>
<Color r="0" g="0" b="0.5" a="0.5"/>
</Texture>
</Layer>
</Layers>
</Frame>
<Button name="$parent_Preset1" inherits="AtlasLootDefaultFrameButtonTemplate">
<Anchors>
<Anchor point="BOTTOMLEFT" relativeTo="$parent" relativePoint="BOTTOMLEFT">
<Offset>
<AbsDimension x="75" y="63"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnEnter>
if this:IsEnabled() then
GameTooltip:ClearLines();
GameTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 5);
GameTooltip:AddLine(AtlasLootCharDB["QuickLooks"][1][3]);
GameTooltip:Show();
end
</OnEnter>
<OnLeave>
if(GameTooltip:IsVisible()) then
GameTooltip:Hide();
end
</OnLeave>
<OnClick>
if AtlasLoot_IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][1][1]) then
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
AtlasLoot_ShowItemsFrame(AtlasLootCharDB["QuickLooks"][1][1], AtlasLootCharDB["QuickLooks"][1][2], AtlasLootCharDB["QuickLooks"][1][3], pFrame);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["QuickLook"].." 1");
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
if ((not AtlasLootCharDB["QuickLooks"][1]) or (not AtlasLootCharDB["QuickLooks"][1][1])) or (AtlasLootCharDB["QuickLooks"][1][1]==nil) then
this:Disable();
end
</OnShow>
</Scripts>
</Button>
<Button name="$parent_Preset2" inherits="AtlasLootDefaultFrameButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativeTo="$parent_Preset1" relativePoint="RIGHT">
<Offset>
<AbsDimension x="5" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnEnter>
if this:IsEnabled() then
GameTooltip:ClearLines();
GameTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 5);
GameTooltip:AddLine(AtlasLootCharDB["QuickLooks"][2][3]);
GameTooltip:Show();
end
</OnEnter>
<OnLeave>
if(GameTooltip:IsVisible()) then
GameTooltip:Hide();
end
</OnLeave>
<OnClick>
if AtlasLoot_IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][2][1]) then
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
AtlasLoot_ShowItemsFrame(AtlasLootCharDB["QuickLooks"][2][1], AtlasLootCharDB["QuickLooks"][2][2], AtlasLootCharDB["QuickLooks"][2][3], pFrame);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["QuickLook"].." 2");
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
if ((not AtlasLootCharDB["QuickLooks"][2]) or (not AtlasLootCharDB["QuickLooks"][2][1])) or (AtlasLootCharDB["QuickLooks"][2][1]==nil) then
this:Disable();
end
</OnShow>
</Scripts>
</Button>
<Button name="$parent_Preset3" inherits="AtlasLootDefaultFrameButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativeTo="$parent_Preset2" relativePoint="RIGHT">
<Offset>
<AbsDimension x="5" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnEnter>
if this:IsEnabled() then
GameTooltip:ClearLines();
GameTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 5);
GameTooltip:AddLine(AtlasLootCharDB["QuickLooks"][3][3]);
GameTooltip:Show();
end
</OnEnter>
<OnLeave>
if(GameTooltip:IsVisible()) then
GameTooltip:Hide();
end
</OnLeave>
<OnClick>
if AtlasLoot_IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][3][1]) then
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
AtlasLoot_ShowItemsFrame(AtlasLootCharDB["QuickLooks"][3][1], AtlasLootCharDB["QuickLooks"][3][2], AtlasLootCharDB["QuickLooks"][3][3], pFrame);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["QuickLook"].." 3");
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
if ((not AtlasLootCharDB["QuickLooks"][3]) or (not AtlasLootCharDB["QuickLooks"][3][1])) or (AtlasLootCharDB["QuickLooks"][3][1]==nil) then
this:Disable();
end
</OnShow>
</Scripts>
</Button>
<Button name="$parent_Preset4" inherits="AtlasLootDefaultFrameButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativeTo="$parent_Preset3" relativePoint="RIGHT">
<Offset>
<AbsDimension x="5" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnEnter>
if this:IsEnabled() then
GameTooltip:ClearLines();
GameTooltip:SetOwner(this, "ANCHOR_RIGHT", -(this:GetWidth() / 2), 5);
GameTooltip:AddLine(AtlasLootCharDB["QuickLooks"][4][3]);
GameTooltip:Show();
end
</OnEnter>
<OnLeave>
if(GameTooltip:IsVisible()) then
GameTooltip:Hide();
end
</OnLeave>
<OnClick>
if AtlasLoot_IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][4][1]) then
pFrame = { "TOPLEFT", "AtlasLootDefaultFrame_LootBackground", "TOPLEFT", "2", "-2" };
AtlasLoot_ShowItemsFrame(AtlasLootCharDB["QuickLooks"][4][1], AtlasLootCharDB["QuickLooks"][4][2], AtlasLootCharDB["QuickLooks"][4][3], pFrame);
end
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["QuickLook"].." 4");
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
if ((not AtlasLootCharDB["QuickLooks"][4]) or (not AtlasLootCharDB["QuickLooks"][4][1])) or (AtlasLootCharDB["QuickLooks"][4][1]==nil) then
this:Disable();
end
</OnShow>
</Scripts>
</Button>
<EditBox name="AtlasLootDefaultFrameSearchBox" inherits="InputBoxTemplate" letters="100">
<Size>
<AbsDimension x="180" y="32" />
</Size>
<Anchors>
<Anchor point="BOTTOM" relativeTo="$parent" relativePoint="BOTTOM">
<Offset>
<AbsDimension x="-70" y="30"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
this:SetAutoFocus(false);
this:SetTextInsets(0, 8, 0, 0);
</OnLoad>
<OnEnterPressed>
AtlasLoot:Search(this:GetText());
this:ClearFocus();
</OnEnterPressed>
</Scripts>
<FontString name="AtlasLootDefaultFrameSearchString" inherits="GameFontNormal"></FontString>
</EditBox>
<Button name="AtlasLootDefaultFrameSearchButton" inherits="UIPanelButtonTemplate2" parent="AtlasLootDefaultFrameSearchBox">
<Size>
<AbsDimension x="69" y="32"/>
</Size>
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT">
<Offset>
<AbsDimension x="0" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Search"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
<OnClick>
AtlasLoot:Search(AtlasLootDefaultFrameSearchBox:GetText());
AtlasLootDefaultFrameSearchBox:ClearFocus();
</OnClick>
</Scripts>
</Button>
<Button name="AtlasLootDefaultFrameSearchOptionsButton" parent="AtlasLootDefaultFrameSearchButton">
<Size>
<AbsDimension x="28" y="28" />
</Size>
<Anchors>
<Anchor point="LEFT" relativeTo="AtlasLootDefaultFrameSearchButton" relativePoint="RIGHT">
<Offset>
<AbsDimension x="-6" y="0"/>
</Offset>
</Anchor>
</Anchors>
<NormalTexture file="Interface\Buttons\UI-SpellbookIcon-NextPage-Up"/>
<PushedTexture file="Interface\Buttons\UI-SpellbookIcon-NextPage-Down"/>
<DisabledTexture file="Interface\Buttons\UI-SpellbookIcon-NextPage-Disabled"/>
<HighlightTexture file="Interface\Buttons\UI-Common-MouseHilight" alphaMode="ADD"/>
<Scripts>
<OnShow>
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
<OnClick>
AtlasLoot:ShowSearchOptions(this);
</OnClick>
</Scripts>
</Button>
<Button name="AtlasLootDefaultFrameSearchClearButton" inherits="UIPanelButtonTemplate2" parent="AtlasLootDefaultFrameSearchBox">
<Size>
<AbsDimension x="58" y="32"/>
</Size>
<Anchors>
<Anchor point="LEFT" relativeTo="AtlasLootDefaultFrameSearchOptionsButton" relativePoint="RIGHT">
<Offset>
<AbsDimension x="-2" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Clear"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
<OnClick>
AtlasLootDefaultFrameSearchBox:SetText("");
AtlasLootDefaultFrameSearchBox:ClearFocus();
</OnClick>
</Scripts>
</Button>
<Button name="AtlasLootDefaultFrameLastResultButton" inherits="UIPanelButtonTemplate2" parent="AtlasLootDefaultFrameSearchBox">
<Size>
<AbsDimension x="100" y="32"/>
</Size>
<Anchors>
<Anchor point="LEFT" relativeTo="AtlasLootDefaultFrameSearchClearButton" relativePoint="RIGHT">
<Offset>
<AbsDimension x="0" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Last Result"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
<OnClick>
AtlasLoot:ShowSearchResult();
</OnClick>
</Scripts>
</Button>
<Button name="AtlasLootDefaultFrameWishListButton" inherits="UIPanelButtonTemplate2" parent="AtlasLootDefaultFrame">
<Size>
<AbsDimension x="100" y="32"/>
</Size>
<Anchors>
<Anchor point="RIGHT" relativeTo="AtlasLootDefaultFrameSearchBox" relativePoint="LEFT">
<Offset>
<AbsDimension x="-7" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
AtlasLoot_ShowWishListDropDown("","","","","",this,true)
</OnClick>
<OnShow>
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
this:SetText(AL["Wishlist"]);
this:SetFrameLevel( (this:GetParent()):GetFrameLevel() + 1 );
</OnShow>
</Scripts>
</Button>
</Frames>
<Layers>
<Layer level="ARTWORK">
<Texture name="$parentHeader" file="Interface\DialogFrame\UI-DialogBox-Header">
<Size>
<AbsDimension x="425" y="64"/>
</Size>
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="0" y="12"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
<FontString inherits="GameFontNormal" text="ATLASLOOT_VERSION">
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="0" y="-1"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
<FontString name="$parent_Notice" inherits="GameFontNormal">
<Anchors>
<Anchor point="BOTTOM">
<Offset>
<AbsDimension x="0" y="17"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
<Layer level="OVERLAY">
<FontString name="$parent_SelectedCategory" inherits="GameFontNormal" text="">
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="0" y="-50"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
<FontString name="$parent_SelectedTable" inherits="GameFontNormal" text="Cannot read files">
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="0" y="-50"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Scripts>
<OnLoad>
this:RegisterForDrag("LeftButton");
this:SetMovable(1);
this:SetBackdropColor(0.75, 0, 0.75);
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
getglobal("AtlasLootDefaultFrame_Notice"):SetText(AL["This is a loot browser only. To view maps as well, install either Atlas or Alphamap."]);
</OnLoad>
<OnShow>
AtlasLootDefaultFrame_OnShow();
</OnShow>
<OnHide>
AtlasLootDefaultFrame_OnHide();
</OnHide>
<OnDragStart>
this:StartMoving();
this.isMoving = true;
</OnDragStart>
<OnDragStop>
this:StopMovingOrSizing();
this.isMoving = false;
</OnDragStop>
</Scripts>
</Frame>
</Ui>
+913
View File
@@ -0,0 +1,913 @@
--[[
DewDropDown.lua
Defines the table listings for the dropdown lists.
]]
--Invoke all libraries
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
--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_DewDropDown = {
[1] = {
[AL["Classic Instances"]] = {
[1] = {
{ BabbleZone["Blackfathom Deeps"], "BlackfathomDeeps1", "Table" },
},
[2] = {
{ BabbleZone["Blackrock Depths"], "BlackrockDepths", "Submenu" },
},
[3] = {
{ BabbleZone["Lower Blackrock Spire"], "LowerBlackrock", "Submenu" },
},
[4] = {
{ BabbleZone["Upper Blackrock Spire"], "UpperBlackrock", "Submenu" },
},
[5] = {
{ BabbleZone["Blackwing Lair"], "BlackwingLair", "Submenu" },
},
[6] = {
{ BabbleZone["The Deadmines"], "TheDeadmines1", "Table" },
},
[7] = {
[BabbleZone["Dire Maul"]] = {
{ BabbleZone["Dire Maul (East)"], "DireMaulEast", "Submenu" },
{ BabbleZone["Dire Maul (West)"], "DireMaulWest", "Submenu" },
{ BabbleZone["Dire Maul (North)"], "DireMaulNorth", "Submenu" },
},
},
[8] = {
{ BabbleZone["Gnomeregan"], "Gnomeregan1", "Table" },
},
[9] = {
{ BabbleZone["Maraudon"], "Maraudon1", "Table" },
},
[10] = {
{ BabbleZone["Molten Core"], "MoltenCore", "Submenu" },
},
[11] = {
{ BabbleZone["Ragefire Chasm"], "RagefireChasm", "Table" },
},
[12] = {
{ BabbleZone["Razorfen Downs"], "RazorfenDowns1", "Table" },
},
[13] = {
{ BabbleZone["Razorfen Kraul"], "RazorfenKraul1", "Table" },
},
[14] = {
{ BabbleZone["Ruins of Ahn'Qiraj"], "RuinsofAQ", "Submenu" },
},
[15] = {
{ BabbleZone["Scarlet Monastery"], "Scarlet Monastery", "Submenu" },
},
[16] = {
{ BabbleZone["Scholomance"], "Scholomance", "Submenu" },
},
[17] = {
{ BabbleZone["Shadowfang Keep"], "ShadowfangKeep1", "Table" },
},
[18] = {
{ BabbleZone["The Stockade"], "TheStockade", "Table" },
},
[19] = {
{ BabbleZone["Stratholme"], "Stratholme", "Submenu" },
},
[20] = {
{ BabbleZone["Temple of Ahn'Qiraj"], "TempleofAQ", "Submenu" },
},
[21] = {
{ BabbleZone["The Temple of Atal'Hakkar"], "SunkenTemple", "Submenu" },
},
[22] = {
{ BabbleZone["Uldaman"], "Uldaman", "Submenu" },
},
[23] = {
{ BabbleZone["Wailing Caverns"], "WailingCaverns1", "Table" },
},
[24] = {
{ BabbleZone["Zul'Farrak"], "ZulFarrak", "Submenu" },
},
[25] = {
{ BabbleZone["Zul'Gurub"], "ZulGurub", "Submenu" },
},
[26] = {
{ BabbleZone["Naxxramas"], "Naxxramas60", "Submenu" },
},
[27] = {
{ BabbleZone["Onyxia's Lair"], "Onyxia60", "Table" },
},
},
},
[2] = {
[AL["BC Instances"]] = {
[1] = {
[BabbleZone["Auchindoun"]] = {
{ BabbleZone["Mana-Tombs"], "AuchManaTombs", "Submenu" },
{ BabbleZone["Auchenai Crypts"], "AuchCrypts", "Submenu" },
{ BabbleZone["Sethekk Halls"], "AuchSethekk", "Submenu" },
{ BabbleZone["Shadow Labyrinth"], "AuchShadowLab", "Submenu" },
},
},
[2] = {
{ BabbleZone["Black Temple"], "BlackTemple", "Submenu" },
},
[3] = {
[BabbleZone["Caverns of Time"]] = {
{ BabbleZone["Old Hillsbrad Foothills"], "CoTOldHillsbrad", "Submenu" },
{ BabbleZone["The Black Morass"], "CoTBlackMorass", "Submenu" },
{ BabbleZone["Hyjal Summit"], "CoTHyjal", "Submenu" },
},
},
[4] = {
[BabbleZone["Coilfang Reservoir"]] = {
{ BabbleZone["The Slave Pens"], "CFRSlavePens", "Submenu" },
{ BabbleZone["The Underbog"], "CFRUnderbog", "Submenu" },
{ BabbleZone["The Steamvault"], "CFRSteamvault", "Submenu" },
{ BabbleZone["Serpentshrine Cavern"], "CFRSerpentshrine", "Submenu" },
},
},
[5] = {
{ BabbleZone["Gruul's Lair"], "Gruul", "Submenu" },
},
[6] = {
[BabbleZone["Hellfire Citadel"]] = {
{ BabbleZone["Hellfire Ramparts"], "HCRamparts", "Submenu" },
{ BabbleZone["The Blood Furnace"], "HCFurnace", "Submenu" },
{ BabbleZone["The Shattered Halls"], "HCShatteredHalls", "Submenu" },
{ BabbleZone["Magtheridon's Lair"], "HCMagtheridon", "Table" },
},
},
[7] = {
{ BabbleZone["Karazhan"], "Karazhan", "Submenu" },
},
[8] = {
{ BabbleZone["Magisters' Terrace"], "MagistersTerrace", "Submenu" },
},
[9] = {
{ BabbleZone["Sunwell Plateau"], "SunwellPlateau", "Submenu" },
},
[10] = {
[BabbleZone["Tempest Keep"]] = {
{ BabbleZone["The Mechanar"], "TKMech", "Submenu" },
{ BabbleZone["The Botanica"], "TKBot", "Submenu" },
{ BabbleZone["The Arcatraz"], "TKArc", "Submenu" },
{ BabbleZone["The Eye"], "TKEye", "Submenu" },
},
},
[11] = {
{ BabbleZone["Zul'Aman"], "ZulAman", "Submenu" },
},
},
},
[3] = {
[AL["WotLK Instances"]] = {
[1] = {
{ BabbleZone["Ahn'kahet: The Old Kingdom"], "Ahnkahet", "Submenu" },
},
[2] = {
{ BabbleZone["Azjol-Nerub"], "AzjolNerub", "Submenu" },
},
[3] = {
{ BabbleZone["Caverns of Time"]..": "..BabbleZone["The Culling of Stratholme"], "CoTStratholme", "Submenu" },
},
[4] = {
{ BabbleZone["Drak'Tharon Keep"], "DrakTharonKeep", "Submenu" },
},
[5] = {
{ BabbleZone["Gundrak"], "Gundrak", "Submenu" },
},
[6] = {
{ BabbleZone["Halls of Lightning"], "HallsofLightning", "Submenu" },
},
[7] = {
{ BabbleZone["Halls of Stone"], "HallsofStone", "Submenu" },
},
[8] = {
{ BabbleZone["Halls of Reflection"], "HallsofReflection", "Submenu" },
},
[9] = {
{ BabbleZone["Icecrown Citadel"], "IcecrownCitadel", "Submenu" },
},
[10] = {
{ BabbleZone["Naxxramas"], "Naxxramas80", "Submenu" },
},
[11] = {
{ BabbleZone["Onyxia's Lair"], "Onyxia_1", "Table" },
},
[12] = {
{ BabbleZone["Pit of Saron"], "PitofSaron", "Submenu" },
},
[13] = {
{ BabbleZone["The Ruby Sanctum"], "Halion", "Table" },
},
[14] = {
{ BabbleZone["The Eye of Eternity"], "Malygos", "Table" },
},
[15] = {
{ BabbleZone["The Forge of Souls"], "ForgeofSouls", "Submenu" },
},
[16] = {
{ BabbleZone["The Nexus"], "TheNexus", "Submenu" },
},
[17] = {
{ BabbleZone["The Obsidian Sanctum"], "Sartharion", "Table" },
},
[18] = {
{ BabbleZone["The Oculus"], "TheOculus", "Submenu" },
},
[19] = {
{ BabbleZone["Trial of the Champion"], "TrialoftheChampion", "Submenu" },
},
[20] = {
{ BabbleZone["Trial of the Crusader"], "TrialoftheCrusader_A", "Submenu" },
},
[21] = {
{ BabbleZone["Ulduar"], "Ulduar", "Submenu" },
},
[22] = {
{ BabbleZone["Utgarde Keep"], "UtgardeKeep", "Submenu" },
},
[23] = {
{ BabbleZone["Utgarde Pinnacle"], "UtgardePinnacle", "Submenu" },
},
[24] = {
{ BabbleZone["Vault of Archavon"], "VaultofArchavon_A", "Submenu" },
},
[25] = {
{ BabbleZone["The Violet Hold"], "TheVioletHold", "Submenu" },
},
},
},
[4] = {
{ AL["Crafting"], "CRAFTINGMENU", "Table" },
},
[5] = {
{ AL["Sets/Collections"], "SETMENU", "Table" },
},
[6] = {
{ AL["PvP Rewards"], "PVPMENU", "Table" },
},
[7] = {
{ AL["World Bosses"], "WorldBosses", "Submenu" },
},
[8] = {
{ AL["Reputation Factions"], "REPMENU", "Table" },
},
[9] = {
{ AL["World Events"], "WORLDEVENTMENU", "Table" },
},
};
--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" },
{ "", "BRDLordRoccor" },
{ "", "BRDHighInterrogatorGerstahn" },
{ "", "BRDArena" },
{ "", "BRDTheldren" },
{ "", "BRDHoundmaster" },
{ "", "BRDPyromantLoregrain" },
{ "", "BRDTheVault" },
{ "", "BRDWarderStilgiss" },
{ "", "BRDVerek" },
{ "", "BRDFineousDarkvire" },
{ "", "BRDLordIncendius" },
{ "", "BRDBaelGar" },
{ "", "BRDGeneralAngerforge" },
{ "", "BRDGolemLordArgelmach" },
{ "", "BRDGuzzler" },
{ "", "CorenDirebrew" },
{ "", "BRDFlamelash" },
{ "", "BRDPanzor" },
{ "", "BRDTomb" },
{ "", "BRDMagmus" },
{ "", "BRDImperatorDagranThaurissan" },
{ "", "BRDPrincess" },
{ "", "BRDBSPlans" },
{ "", "BRDTrash" },
{ "", "VWOWSets1" },
},
["LowerBlackrock"] = {
{ "", "LBRSSpirestoneButcher" },
{ "", "LBRSOmokk" },
{ "", "LBRSSpirestoneLord" },
{ "", "LBRSLordMagus" },
{ "", "LBRSVosh" },
{ "", "LBRSVoone" },
{ "", "LBRSGrayhoof" },
{ "", "LBRSGrimaxe" },
{ "", "LBRSSmolderweb" },
{ "", "LBRSCrystalFang" },
{ "", "LBRSDoomhowl" },
{ "", "LBRSZigris" },
{ "", "LBRSHalycon" },
{ "", "LBRSSlavener" },
{ "", "LBRSBashguud" },
{ "", "LBRSWyrmthalak" },
{ "", "LBRSFelguard" },
{ "", "LBRSTrash" },
{ "", "VWOWSets3" },
},
["UpperBlackrock"] = {
{ "", "UBRSEmberseer" },
{ "", "UBRSSolakar" },
{ "", "UBRSFLAME" },
{ "", "UBRSRunewatcher" },
{ "", "UBRSAnvilcrack" },
{ "", "UBRSRend" },
{ "", "UBRSGyth" },
{ "", "UBRSBeast" },
{ "", "UBRSValthalak" },
{ "", "UBRSDrakkisath" },
{ "", "UBRSTrash" },
{ "", "VWOWSets3" },
},
["BlackwingLair"] = {
{ "", "BWLRazorgore" },
{ "", "BWLVaelastrasz" },
{ "", "BWLLashlayer" },
{ "", "BWLFiremaw" },
{ "", "BWLEbonroc" },
{ "", "BWLFlamegor" },
{ "", "BWLChromaggus" },
{ "", "BWLNefarian1" },
{ "", "BWLTrashMobs" },
},
["Karazhan"] = {
{ "", "KaraAttumen" },
{ "", "KaraMoroes" },
{ "", "KaraMaiden" },
{ "", "KaraOperaEvent" },
{ "", "KaraCurator" },
{ "", "KaraIllhoof" },
{ "", "KaraAran" },
{ "", "KaraNetherspite" },
{ "", "KaraNightbane" },
{ "", "KaraChess" },
{ "", "KaraPrince" },
{ "", "KaraNamed" },
{ "", "KaraTrash" },
},
["MagistersTerrace"] = {
{ "", "SMTFireheart" },
{ "", "SMTVexallus" },
{ "", "SMTDelrissa" },
{ "", "SMTKaelthas" },
},
["MoltenCore"] = {
{ "", "MCLucifron" },
{ "", "MCMagmadar" },
{ "", "MCGehennas" },
{ "", "MCGarr" },
{ "", "MCShazzrah" },
{ "", "MCGeddon" },
{ "", "MCGolemagg" },
{ "", "MCSulfuron" },
{ "", "MCMajordomo" },
{ "", "MCRagnaros" },
{ "", "MCTrashMobs" },
{ "", "MCRANDOMBOSSDROPPS" },
},
["Naxxramas60"] = {
{ "", "NAXPatchwerk" },
{ "", "NAXGrobbulus" },
{ "", "NAXGluth" },
{ "", "NAXThaddius" },
{ "", "NAXAnubRekhan" },
{ "", "NAXGrandWidowFearlina" },
{ "", "NAXMaexxna" },
{ "", "NAXInstructorRAuvious" },
{ "", "NAXGothicderHarvester" },
{ "", "NAXTheFourHorsemen" },
{ "", "NAXNothderPlaguebringer" },
{ "", "NAXHeiganderUnclean" },
{ "", "NAXLoatheb" },
{ "", "NAXSapphiron" },
{ "", "NAXKelThuzard" },
{ "", "NAXTrash" },
},
["Scarlet Monastery"] = {
{ BabbleZone["Armory"], "SMHerod" },
{ "", "SMCathedral" },
{ "", "SMGraveyard" },
{ "", "SMLibrary" },
{ "", "SMTrash" },
{ AL["Set: Chain of the Scarlet Crusade"], "VWOWSets1" },
},
["Scholomance"] = {
{ "", "SCHOLOBloodStewardofKirtonos" },
{ "", "SCHOLOKirtonostheHerald" },
{ "", "SCHOLOJandiceBarov" },
{ "", "SCHOLORattlegore" },
{ "", "SCHOLODeathKnight" },
{ "", "SCHOLOMarduk" },
{ "", "SCHOLOVectus" },
{ "", "SCHOLORasFrostwhisper" },
{ "", "SCHOLOKormok" },
{ "", "SCHOLOInstructorMalicia" },
{ "", "SCHOLODoctorTheolenKrastinov" },
{ "", "SCHOLOLorekeeperPolkelt" },
{ "", "SCHOLOTheRavenian" },
{ "", "SCHOLOLordAlexeiBarov" },
{ "", "SCHOLOLadyIlluciaBarov" },
{ "", "SCHOLODarkmasterGandling" },
{ "", "SCHOLOTrash" },
{ AL["Set: Necropile Raiment"], "VWOWScholo" },
{ AL["Set: Cadaverous Garb"], "VWOWScholo" },
{ AL["Set: Bloodmail Regalia"], "VWOWScholo" },
{ AL["Set: Deathbone Guardian"], "VWOWScholo" },
},
["Stratholme"] = {
{ BabbleBoss["Skul"], "STRATSkull" },
{ AtlasLoot_TableNames["STRATStratholmeCourier"][1], "STRATStratholmeCourier" },
{ BabbleBoss["Fras Siabi"], "STRATFrasSiabi" },
{ AtlasLoot_TableNames["STRATAtiesh"][1], "STRATAtiesh" },
{ BabbleBoss["Hearthsinger Forresten"], "STRATHearthsingerForresten" },
{ BabbleBoss["The Unforgiven"], "STRATTheUnforgiven" },
{ BabbleBoss["Timmy the Cruel"], "STRATTimmytheCruel" },
{ AtlasLoot_TableNames["STRATMalorsStrongbox"][1], "STRATMalorsStrongbox" },
{ BabbleBoss["Crimson Hammersmith"], "STRATCrimsonHammersmith" },
{ AtlasLoot_TableNames["STRATBSPlansSerenity"][1], "STRATBSPlansSerenity" },
{ BabbleBoss["Cannon Master Willey"], "STRATCannonMasterWilley" },
{ BabbleBoss["Archivist Galford"], "STRATArchivistGalford" },
{ BabbleBoss["Balnazzar"], "STRATBalnazzar" },
{ AL["Sothos and Jarien"], "STRATSothosJarien" },
{ AtlasLoot_TableNames["STRATStonespine"][1], "STRATStonespine" },
{ BabbleBoss["Baroness Anastari"], "STRATBaronessAnastari" },
{ BabbleBoss["Black Guard Swordsmith"], "STRATBlackGuardSwordsmith" },
{ AtlasLoot_TableNames["STRATBSPlansCorruption"][1], "STRATBSPlansCorruption" },
{ BabbleBoss["Nerub'enkan"], "STRATNerubenkan" },
{ BabbleBoss["Maleki the Pallid"], "STRATMalekithePallid" },
{ BabbleBoss["Magistrate Barthilas"], "STRATMagistrateBarthilas" },
{ BabbleBoss["Ramstein the Gorger"], "STRATRamsteintheGorger" },
{ BabbleBoss["Baron Rivendare"], "STRATBaronRivendare" },
{ AL["Trash Mobs"], "STRATTrash" },
{ AL["Set: The Postmaster"], "VWOWSets2" },
},
["SunkenTemple"] = {
{ AtlasLoot_TableNames["STSpawnOfHakkar"][1], "STSpawnOfHakkar" },
{ AtlasLoot_TableNames["STTrollMinibosses"][1], "STTrollMinibosses" },
{ BabbleBoss["Atal'alarion"], "STAtalalarion" },
{ BabbleBoss["Dreamscythe"], "STDreamscythe" },
{ BabbleBoss["Weaver"], "STWeaver"},
{ BabbleBoss["Avatar of Hakkar"], "STAvatarofHakkar" },
{ BabbleBoss["Jammal'an the Prophet"], "STJammalan" },
{ BabbleBoss["Ogom the Wretched"], "STOgom" },
{ BabbleBoss["Morphaz"], "STMorphaz" },
{ BabbleBoss["Hazzas"], "STHazzas" },
{ BabbleBoss["Shade of Eranikus"], "STEranikus" },
{ AL["Trash Mobs"], "STTrash" },
},
["Uldaman"] = {
{ BabbleBoss["Digmaster Shovelphlange"], "UldShovelphlange" },
{ AtlasLoot_TableNames["UldBaelog"][1], "UldBaelog" },
{ BabbleBoss["Revelosh"], "UldRevelosh" },
{ BabbleBoss["Ironaya"], "UldIronaya" },
{ BabbleBoss["Ancient Stone Keeper"], "UldAncientStoneKeeper" },
{ BabbleBoss["Galgann Firehammer"], "UldGalgannFirehammer" },
{ BabbleBoss["Grimlok"], "UldGrimlok" },
{ BabbleBoss["Archaedas"], "UldArchaedas" },
{ AL["Trash Mobs"], "UldTrash" },
},
["ZulGurub"] = {
{ BabbleBoss["High Priestess Jeklik"], "ZGJeklik" },
{ BabbleBoss["High Priest Venoxis"], "ZGVenoxis" },
{ BabbleBoss["High Priestess Mar'li"], "ZGMarli" },
{ BabbleBoss["Bloodlord Mandokir"], "ZGMandokir" },
{ BabbleZone["Zul'Gurub"], "ZGEdgeofMadness" },
{ BabbleBoss["Gahz'ranka"], "ZGGahzranka" },
{ BabbleBoss["High Priest Thekal"], "ZGThekal" },
{ BabbleBoss["High Priestess Arlokk"], "ZGArlokk" },
{ BabbleBoss["Jin'do the Hexxer"], "ZGJindo" },
{ BabbleBoss["Hakkar"], "ZGHakkar" },
{ AL["Random Boss Loot"], "ZGShared" },
{ AL["Trash Mobs"], "ZGTrash1" },
{ AL["ZG Enchants"], "ZGEnchants" },
},
["CoTOldHillsbrad"] = {
{ "", "CoTHillsbradDrake" },
{ "", "CoTHillsbradSkarloc" },
{ "", "CoTHillsbradHunter" },
{ AL["Trash Mobs"], "CoTTrash" },
},
["CoTBlackMorass"] = {
{ "", "CoTMorassDeja" },
{ "", "CoTMorassTemporus" },
{ "", "CoTMorassAeonus" },
{ AL["Trash Mobs"], "CoTTrash" },
},
["CoTHyjal"] = {
{ "", "MountHyjalWinterchill" },
{ "", "MountHyjalAnetheron" },
{ "", "MountHyjalKazrogal" },
{ "", "MountHyjalAzgalor" },
{ "", "MountHyjalArchimonde" },
{ AL["Trash Mobs"], "MountHyjalTrash" },
},
["DireMaulEast"] = {
{ BabbleBoss["Pusillin"], "DMEPusillin" },
{ BabbleBoss["Zevrim Thornhoof"], "DMEZevrimThornhoof" },
{ BabbleBoss["Hydrospawn"], "DMEHydro" },
{ BabbleBoss["Lethtendris"], "DMELethtendris" },
{ BabbleBoss["Pimgib"], "DMEPimgib" },
{ BabbleBoss["Alzzin the Wildshaper"], "DMEAlzzin" },
{ BabbleBoss["Isalien"], "DMEIsalien" },
{ AL["Trash Mobs"], "DMETrash" },
{ AL["Dire Maul Books"], "DMBooks" },
},
["DireMaulWest"] = {
{ BabbleBoss["Tendris Warpwood"], "DMWTendrisWarpwood" },
{ BabbleBoss["Illyanna Ravenoak"], "DMWIllyannaRavenoak" },
{ BabbleBoss["Magister Kalendris"], "DMWMagisterKalendris" },
{ BabbleBoss["Tsu'zee"], "DMWTsuzee" },
{ BabbleBoss["Immol'thar"], "DMWImmolthar" },
{ BabbleBoss["Lord Hel'nurath"], "DMWHelnurath" },
{ BabbleBoss["Prince Tortheldrin"], "DMWPrinceTortheldrin" },
{ AL["Trash Mobs"], "DMWTrash" },
{ AL["Dire Maul Books"], "DMBooks" },
},
["DireMaulNorth"] = {
{ BabbleBoss["Guard Mol'dar"], "DMNGuardMoldar" },
{ BabbleBoss["Stomper Kreeg"], "DMNStomperKreeg" },
{ BabbleBoss["Guard Fengus"], "DMNGuardFengus" },
{ AtlasLoot_TableNames["DMNThimblejack"][1], "DMNThimblejack" },
{ BabbleBoss["Guard Slip'kik"], "DMNGuardSlipkik" },
{ BabbleBoss["Captain Kromcrush"], "DMNCaptainKromcrush" },
{ BabbleBoss["King Gordok"], "DMNKingGordok" },
{ BabbleBoss["Cho'Rush the Observer"], "DMNChoRush" },
{ AL["Tribute Run"], "DMNTRIBUTERUN" },
{ AL["Dire Maul Books"], "DMBooks" },
},
["RuinsofAQ"] = {
{ BabbleBoss["Kurinnaxx"], "AQ20Kurinnaxx" },
{ BabbleBoss["General Rajaxx"], "AQ20Rajaxx" },
{ BabbleBoss["Moam"], "AQ20Moam" },
{ BabbleBoss["Buru the Gorger"], "AQ20Buru" },
{ BabbleBoss["Ayamiss the Hunter"], "AQ20Ayamiss" },
{ BabbleBoss["Ossirian the Unscarred"], "AQ20Ossirian" },
{ AL["Trash Mobs"], "AQ20Trash" },
{ AL["Class Books"], "AQ20ClassBooks" },
{ AL["AQ Enchants"], "AQEnchants" },
{ AL["Ruins of Ahn'Qiraj Sets"], "AQ20Sets1" },
},
["TempleofAQ"] = {
{ BabbleBoss["The Prophet Skeram"], "AQ40Skeram" },
{ BabbleBoss["The Bug Family"], "AQ40Vem" },
{ BabbleBoss["Battleguard Sartura"], "AQ40Sartura" },
{ BabbleBoss["Fankriss the Unyielding"], "AQ40Fankriss" },
{ BabbleBoss["Viscidus"], "AQ40Viscidus" },
{ BabbleBoss["Princess Huhuran"], "AQ40Huhuran" },
{ BabbleBoss["The Twin Emperors"], "AQ40Emperors" },
{ BabbleBoss["Ouro"], "AQ40Ouro" },
{ BabbleBoss["C'Thun"], "AQ40CThun" },
{ AL["Trash Mobs"], "AQ40Trash1" },
{ AL["AQ Enchants"], "AQEnchants" },
{ AL["AQ Opening Quest Chain"], "AQOpening" },
},
["ZulFarrak"] = {
{ BabbleBoss["Antu'sul"], "ZFAntusul" },
{ BabbleBoss["Theka the Martyr"], "ZFThekatheMartyr" },
{ BabbleBoss["Witch Doctor Zum'rah"], "ZFWitchDoctorZumrah" },
{ BabbleBoss["Nekrum Gutchewer"], "ZFNekrumGutchewer" },
{ BabbleBoss["Shadowpriest Sezz'ziz"], "ZFSezzziz" },
{ BabbleBoss["Dustwraith"], "ZFDustwraith" },
{ BabbleBoss["Sergeant Bly"], "ZFSergeantBly" },
{ BabbleBoss["Sandfury Executioner"], "ZFSandfury" },
{ BabbleBoss["Hydromancer Velratha"], "ZFHydromancerVelratha" },
{ BabbleBoss["Gahz'rilla"], "ZFGahzrilla" },
{ BabbleBoss["Chief Ukorz Sandscalp"], "ZFChiefUkorzSandscalp" },
{ BabbleBoss["Zerillis"], "ZFZerillis" },
{ AL["Trash Mobs"], "ZFTrash" },
},
["AuchManaTombs"] = {
{ "", "AuchManaPandemonius" },
{ "", "AuchManaTavarok" },
{ "", "AuchManaNexusPrince" },
{ "", "AuchManaYor" },
{ AL["Trash Mobs"], "AuchTrash" },
},
["AuchCrypts"] = {
{ "", "AuchCryptsShirrak" },
{ "", "AuchCryptsExarch" },
{ "", "AuchCryptsAvatar" },
{ AL["Trash Mobs"], "AuchTrash" },
},
["AuchSethekk"] = {
{ "", "AuchSethekkDarkweaver" },
{ "", "AuchSethekkTalonKing" },
{ "", "AuchSethekkRavenGod" },
{ AL["Trash Mobs"], "AuchTrash" },
},
["AuchShadowLab"] = {
{ "", "AuchShadowHellmaw" },
{ "", "AuchShadowBlackheart" },
{ "", "AuchShadowGrandmaster" },
{ "", "AuchShadowMurmur" },
{ AL["Trash Mobs"], "AuchTrash" },
},
["BlackTemple"] = {
{ "", "BTNajentus" },
{ "", "BTSupremus" },
{ "", "BTAkama" },
{ "", "BTGorefiend" },
{ "", "BTBloodboil" },
{ "", "BTEssencofSouls" },
{ "", "BTShahraz" },
{ "", "BTCouncil" },
{ "", "BTIllidanStormrage" },
{ AL["BT Patterns/Plans"], "BTPatterns" },
{ AL["Trash Mobs"], "BTTrash" },
},
["CFRSlavePens"] = {
{ "", "CFRSlaveMennu" },
{ "", "CFRSlaveRokmar" },
{ "", "CFRSlaveQuagmirran" },
{ "", "LordAhune" },
},
["CFRUnderbog"] = {
{ "", "CFRUnderHungarfen" },
{ "", "CFRUnderGhazan" },
{ "", "CFRUnderSwamplord" },
{ "", "CFRUnderStalker" },
},
["CFRSteamvault"] = {
{ "", "CFRSteamThespia" },
{ "", "CFRSteamSteamrigger" },
{ "", "CFRSteamWarlord" },
{ AL["Trash Mobs"], "CFRSteamTrash" },
},
["CFRSerpentshrine"] = {
{ "", "CFRSerpentHydross" },
{ "", "CFRSerpentLurker" },
{ "", "CFRSerpentLeotheras" },
{ "", "CFRSerpentKarathress" },
{ "", "CFRSerpentMorogrim" },
{ "", "CFRSerpentVashj" },
{ AL["Trash Mobs"], "CFRSerpentTrash" },
},
["Gruul"] = {
{ "", "GruulsLairHighKingMaulgar" },
{ "", "GruulGruul" },
},
["HCRamparts"] = {
{ "", "HCRampWatchkeeper" },
{ "", "HCRampOmor" },
{ "", "HCRampVazruden" },
},
["HCFurnace"] = {
{ "", "HCFurnaceMaker" },
{ "", "HCFurnaceBroggok" },
{ "", "HCFurnaceBreaker" },
},
["HCShatteredHalls"] = {
{ "", "HCHallsNethekurse" },
{ "", "HCHallsPorung" },
{ "", "HCHallsOmrogg" },
{ "", "HCHallsKargath" },
{ AL["Trash Mobs"], "HCHallsTrash" },
},
["TKMech"] = {
{ "", "TKMechCacheoftheLegion" },
{ "", "TKMechCapacitus" },
{ "", "TKMechSepethrea" },
{ "", "TKMechCalc" },
{ AL["Trash Mobs"], "TKTrash" },
},
["TKBot"] = {
{ "", "TKBotSarannis" },
{ "", "TKBotFreywinn" },
{ "", "TKBotThorngrin" },
{ "", "TKBotLaj" },
{ "", "TKBotSplinter" },
{ AL["Trash Mobs"], "TKTrash" },
},
["TKArc"] = {
{ "", "TKArcUnbound" },
{ "", "TKArcScryer" },
{ "", "TKArcDalliah" },
{ "", "TKArcHarbinger" },
{ AL["Trash Mobs"], "TKTrash" },
},
["TKEye"] = {
{ "", "TKEyeAlar" },
{ "", "TKEyeVoidReaver" },
{ "", "TKEyeSolarian" },
{ "", "TKEyeKaelthas" },
{ "", "TKEyeLegendaries" },
{ AL["Trash Mobs"], "TKEyeTrash" },
},
["ZulAman"] = {
{ "", "ZANalorakk" },
{ "", "ZAAkilZon" },
{ "", "ZAJanAlai" },
{ "", "ZAHalazzi" },
{ "", "ZAMalacrass" },
{ "", "ZAZuljin" },
{ AL["Timed Reward Chest"], "ZATimedChest" },
{ AL["Trash Mobs"], "ZATrash" },
},
["SunwellPlateau"] = {
{ "", "SPKalecgos" },
{ "", "SPBrutallus" },
{ "", "SPFelmyst" },
{ "", "SPEredarTwins" },
{ "", "SPMuru" },
{ "", "SPKiljaeden" },
{ "", "SPPatterns" },
{ AL["Trash Mobs"], "SPTrash" },
},
["Ahnkahet"] = {
{ "", "AhnkahetNadox" },
{ "", "AhnkahetTaldaram" },
{ "", "AhnkahetAmanitarHEROIC" },
{ "", "AhnkahetJedoga" },
{ "", "AhnkahetVolazj" },
{ "", "AhnkahetTrash" },
},
["AzjolNerub"] = {
{ "", "AzjolNerubKrikthir" },
{ "", "AzjolNerubHadronox" },
{ "", "AzjolNerubAnubarak" },
{ "", "AzjolNerubTrash" },
},
["CoTStratholme"] = {
{ "", "CoTStratholmeMeathook" },
{ "", "CoTStratholmeEpoch" },
{ "", "CoTStratholmeSalramm" },
{ "", "CoTStratholmeInfiniteCorruptorHEROIC" },
{ "", "CoTStratholmeMalGanis" },
{ "", "CoTStratholmeTrash" },
},
["DrakTharonKeep"] = {
{ "", "DrakTharonKeepTrollgore" },
{ "", "DrakTharonKeepNovos" },
{ "", "DrakTharonKeepKingDred" },
{ "", "DrakTharonKeepTharonja" },
{ "", "DrakTharonKeepTrash" },
},
["Gundrak"] = {
{ "", "GundrakSladran" },
{ "", "GundrakColossus" },
{ "", "GundrakMoorabi" },
{ "", "GundrakEckHEROIC" },
{ "", "GundrakGaldarah" },
{ "", "GundrakTrash" },
},
["HallsofLightning"] = {
{ "", "HallsofLightningBjarngrim" },
{ "", "HallsofLightningVolkhan" },
{ "", "HallsofLightningIonar" },
{ "", "HallsofLightningLoken" },
{ "", "HallsofLightningTrash" },
},
["HallsofStone"] = {
{ "", "HallsofStoneMaiden" },
{ "", "HallsofStoneKrystallus" },
{ "", "HallsofStoneTribunal" },
{ "", "HallsofStoneSjonnir" },
{ "", "HallsofStoneTrash" },
},
["Ulduar"] = {
{ "", "UlduarLeviathan" },
{ "", "UlduarIgnis" },
{ "", "UlduarRazorscale" },
{ "", "UlduarDeconstructor" },
{ "", "UlduarIronCouncil" },
{ "", "UlduarKologarn" },
{ "", "UlduarAlgalon" },
{ "", "UlduarAuriaya" },
{ "", "UlduarHodir" },
{ "", "UlduarThorim" },
{ "", "UlduarFreya" },
{ "", "UlduarMimiron" },
{ "", "UlduarVezax" },
{ "", "UlduarYoggSaron" },
{ "", "UlduarTrash" },
{ "", "UlduarPatterns" },
},
["UtgardeKeep"] = {
{ "", "UtgardeKeepKeleseth" },
{ "", "UtgardeKeepSkarvald" },
{ "", "UtgardeKeepIngvar" },
{ "", "UtgardeKeepTrash" },
},
["UtgardePinnacle"] = {
{ "", "UPSkadi" },
{ "", "UPYmiron" },
{ "", "UPSorrowgrave" },
{ "", "UPPalehoof" },
{ "", "UPTrash" },
},
["TheVioletHold"] = {
{ "", "VioletHoldErekem" },
{ "", "VioletHoldZuramat" },
{ "", "VioletHoldXevozz" },
{ "", "VioletHoldIchoron" },
{ "", "VioletHoldMoragg" },
{ "", "VioletHoldLavanthor" },
{ "", "VioletHoldCyanigosa" },
{ "", "VioletHoldTrash" },
},
["TheOculus"] = {
{ "", "OcuDrakos" },
{ "", "OcuUrom" },
{ "", "OcuCloudstrider" },
{ "", "OcuEregos" },
{ "", "OcuTrash" },
},
["TrialoftheChampion"] = {
{ "", "TrialoftheChampionChampions" },
{ "", "TrialoftheChampionConfessorPaletress" },
{ "", "TrialoftheChampionEadricthePure" },
{ "", "TrialoftheChampionBlackKnight" },
},
["TrialoftheCrusader_A"] = {
{ BabbleBoss["The Beasts of Northrend"], "TrialoftheCrusaderNorthrendBeasts_A" },
{ BabbleBoss["Lord Jaraxxus"], "TrialoftheCrusaderLordJaraxxus_A" },
{ AL["Faction Champions"], "TrialoftheCrusaderFactionChampions_A" },
{ BabbleBoss["The Twin Val'kyr"], "TrialoftheCrusaderTwinValkyrs_A" },
{ BabbleBoss["Anub'arak"], "TrialoftheCrusaderAnubarak_A" },
{ AL["Tribute Run"], "TrialoftheCrusaderTributeHEROIC_A" },
{ AL["Trial of the Crusader Patterns/Plans"], "TrialoftheCrusaderPatterns_A" },
},
["VaultofArchavon_A"] = {
{ BabbleBoss["Archavon the Stone Watcher"], "VaultofArchavonArchavon1" },
{ BabbleBoss["Emalon the Storm Watcher"], "VaultofArchavonEmalon1" },
{ BabbleBoss["Koralon the Flame Watcher"], "VaultofArchavonKoralon1_A" },
{ BabbleBoss["Toravon the Ice Watcher"], "VaultofArchavonToravon1" },
},
["Naxxramas80"] = {
{ AtlasLoot_TableNames["Naxx80Patchwerk"][1].." ("..AL["Construct Quarter"]..")", "Naxx80Patchwerk" },
{ AtlasLoot_TableNames["Naxx80Grobbulus"][1].." ("..AL["Construct Quarter"]..")", "Naxx80Grobbulus" },
{ AtlasLoot_TableNames["Naxx80Gluth1"][1].." ("..AL["Construct Quarter"]..")", "Naxx80Gluth1" },
{ AtlasLoot_TableNames["Naxx80Thaddius"][1].." ("..AL["Construct Quarter"]..")", "Naxx80Thaddius" },
{ AtlasLoot_TableNames["Naxx80AnubRekhan"][1].." ("..AL["Arachnid Quarter"]..")", "Naxx80AnubRekhan" },
{ AtlasLoot_TableNames["Naxx80Faerlina"][1].." ("..AL["Arachnid Quarter"]..")", "Naxx80Faerlina" },
{ AtlasLoot_TableNames["Naxx80Maexxna"][1].." ("..AL["Arachnid Quarter"]..")", "Naxx80Maexxna" },
{ AtlasLoot_TableNames["Naxx80Razuvious"][1].." ("..AL["Military Quarter"]..")", "Naxx80Razuvious" },
{ AtlasLoot_TableNames["Naxx80Gothik"][1].." ("..AL["Military Quarter"]..")", "Naxx80Gothik" },
{ AtlasLoot_TableNames["Naxx80FourHorsemen"][1].." ("..AL["Military Quarter"]..")", "Naxx80FourHorsemen" },
{ AtlasLoot_TableNames["Naxx80Noth"][1].." ("..AL["Plague Quarter"]..")", "Naxx80Noth" },
{ AtlasLoot_TableNames["Naxx80Heigan"][1].." ("..AL["Plague Quarter"]..")", "Naxx80Heigan" },
{ AtlasLoot_TableNames["Naxx80Loatheb"][1].." ("..AL["Plague Quarter"]..")", "Naxx80Loatheb" },
{ AtlasLoot_TableNames["Naxx80Sapphiron"][1].." ("..AL["Frostwyrm Lair"]..")", "Naxx80Sapphiron" },
{ AtlasLoot_TableNames["Naxx80KelThuzad"][1].." ("..AL["Frostwyrm Lair"]..")", "Naxx80KelThuzad" },
{ "", "Naxx80Trash" },
},
["TheNexus"] = {
{ "", "TheNexusTelestra" },
{ "", "TheNexusAnomalus"},
{ "", "TheNexusOrmorok" },
{ "", "TheNexusKolurgStoutbeardHEROIC"},
{ "", "TheNexusKeristrasza" },
},
["WorldBosses"] = {
{ "", "WorldBossesClassic" },
{ "", "WorldBossesBC"},
{ "", "DEmeriss" },
{ "", "DLethon"},
{ "", "DTaerar" },
{ "", "DYsondre" },
{ "", "Kazzak60" },
{ "", "Setis" },
},
["ForgeofSouls"] = {
{ "", "FoSBronjahm" },
{ "", "FoSDevourer" },
{ "", "FHTrashMobs" },
},
["PitofSaron"] = {
{ "", "PoSGarfrost" },
{ "", "PoSKrickIck" },
{ "", "PoSTyrannus" },
{ "", "FHTrashMobs" },
},
["HallsofReflection"] = {
{ "", "HoRFalric" },
{ "", "HoRMarwyn" },
{ "", "HoRLichKing" },
{ "", "FHTrashMobs" },
},
["IcecrownCitadel"] = {
{ "", "ICCLordMarrowgar" },
{ "", "ICCLadyDeathwhisper" },
{ "", "ICCGunshipBattle" },
{ "", "ICCSaurfang" },
{ "", "ICCFestergut" },
{ "", "ICCRotface" },
{ "", "ICCPutricide" },
{ "", "ICCCouncil" },
{ "", "ICCLanathel" },
{ "", "ICCValithria" },
{ "", "ICCSindragosa" },
{ "", "ICCLichKing" },
{ "", "ICCTrash25Man" },
},
};
+336
View File
@@ -0,0 +1,336 @@
The GNU General Public License (GPL)
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to
share and change it. By contrast, the GNU General Public License is
intended to guarantee your freedom to share and change free software--to
make sure the software is free for all its users. This General Public
License applies to most of the Free Software Foundation's software and
to any other program whose authors commit to using it. (Some other Free
Software Foundation software is covered by the GNU Library General
Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price.
Our General Public Licenses are designed to make sure that you have the
freedom to distribute copies of free software (and charge for this
service if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone
to deny you these rights or to ask you to surrender the rights. These
restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis
or for a fee, you must give the recipients all the rights that you have.
You must make sure that they, too, receive or can get the source code.
And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software patents.
We wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program
proprietary. To prevent this, we have made it clear that any patent must
be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a
notice placed by the copyright holder saying it may be distributed under
the terms of this General Public License. The "Program", below, refers
to any such program or work, and a "work based on the Program" means
either the Program or any derivative work under copyright law: that is
to say, a work containing the Program or a portion of it, either
verbatim or with modifications and/or translated into another language.
(Hereinafter, translation is included without limitation in the term
"modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of running
the Program is not restricted, and the output from the Program is
covered only if its contents constitute a work based on the Program
(independent of having been made by running the Program). Whether that
is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously
and appropriately publish on each copy an appropriate copyright notice
and disclaimer of warranty; keep intact all the notices that refer to
this License and to the absence of any warranty; and give any other
recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of
it, thus forming a work based on the Program, and copy and distribute
such modifications or work under the terms of Section 1 above, provided
that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole
or in part contains or is derived from the Program or any part thereof,
to be licensed as a whole at no charge to all third parties under the
terms of this License.
c) If the modified program normally reads commands interactively when
run, you must cause it, when started running for such interactive use in
the most ordinary way, to print or display an announcement including an
appropriate copyright notice and a notice that there is no warranty (or
else, saying that you provide a warranty) and that users may
redistribute the program under these conditions, and telling the user
how to view a copy of this License. (Exception: if the Program itself is
interactive but does not normally print such an announcement, your work
based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, and
can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based on
the Program, the distribution of the whole must be on the terms of this
License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of a
storage or distribution medium does not bring the other work under the
scope of this License.
3. You may copy and distribute the Program (or a work based on it, under
Section 2) in object code or executable form under the terms of Sections
1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections 1 and 2
above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to
give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is allowed only
for noncommercial distribution and only if you received the program in
object code or executable form with such an offer, in accord with
Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source code
means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to control
compilation and installation of the executable. However, as a special
exception, the source code distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies the
executable.
If distribution of executable or object code is made by offering access
to copy from a designated place, then offering equivalent access to copy
the source code from the same place counts as distribution of the source
code, even though third parties are not compelled to copy the source
along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt otherwise
to copy, modify, sublicense or distribute the Program is void, and will
automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will
not have their licenses terminated so long as such parties remain in
full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and all
its terms and conditions for copying, distributing or modifying the
Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further restrictions
on the recipients' exercise of the rights granted herein. You are not
responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot distribute
so as to satisfy simultaneously your obligations under this License and
any other pertinent obligations, then as a consequence you may not
distribute the Program at all. For example, if a patent license would
not permit royalty-free redistribution of the Program by all those who
receive copies directly or indirectly through you, then the only way you
could satisfy both it and this License would be to refrain entirely from
distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is implemented
by public license practices. Many people have made generous
contributions to the wide range of software distributed through that
system in reliance on consistent application of that system; it is up to
the author/donor to decide if he or she is willing to distribute
software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to be
a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License may
add an explicit geographical distribution limitation excluding those
countries, so that distribution is permitted only in or among countries
not thus excluded. In such case, this License incorporates the
limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Program does not specify a version
number of this License, you may choose any version ever published by the
Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the
author to ask for permission. For software which is copyrighted by the
Free Software Foundation, write to the Free Software Foundation; we
sometimes make exceptions for this. Our decision will be guided by the
two goals of preserving the free status of all derivatives of our free
software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
One line to give the program's name and a brief idea of what it does.
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision
comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is
free software, and you are welcome to redistribute it under certain
conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the commands
you use may be called something other than `show w' and `show c'; they
could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications
with the library. If this is what you want to do, use the GNU Library
General Public License instead of this License.
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

+25
View File
@@ -0,0 +1,25 @@
--[[
AtlasLoot_GetLocaleLibBabble(typ)
Get english translations for non translated things. (Combines Locatet and English table)
Only Useable with LibBabble
]]
function AtlasLoot_GetLocaleLibBabble(typ)
--local tab = LibStub(typ):GetBaseLookupTable()
--local loctab = LibStub(typ):GetUnstrictLookupTable()
--setmetatable(loctab, {
-- __index = tab
--})
local rettab = {}
local tab = LibStub(typ):GetBaseLookupTable()
local loctab = LibStub(typ):GetUnstrictLookupTable()
for k,v in pairs(loctab) do
rettab[k] = v;
end
for k,v in pairs(tab) do
if not rettab[k] then
rettab[k] = v;
end
end
return rettab
end
+12
View File
@@ -0,0 +1,12 @@
<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/">
<Script file="LibBabble.lua"/>
<Script file="constants.en.lua"/>
<Script file="constants.fr.lua"/>
<Script file="constants.de.lua"/>
<Script file="constants.tw.lua"/>
<Script file="constants.es.lua"/>
<Script file="constants.mx.lua"/>
<Script file="constants.cn.lua"/>
<Script file="constants.ru.lua"/>
<!--<Script file="constants.kr.lua"/>-->
</Ui>
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
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
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
+261
View File
@@ -0,0 +1,261 @@
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_Data["CRAFTINGMENU"] = {
{ 2, "ALCHEMYMENU", "INV_Potion_23", "=ds="..GetSpellInfo(2259), ""};
{ 3, "SMITHINGMENU", "Trade_BlackSmithing", "=ds="..GetSpellInfo(2018), ""};
{ 4, "ENCHANTINGMENU", "Trade_Engraving", "=ds="..GetSpellInfo(7411), ""};
{ 5, "ENGINEERINGMENU", "Trade_Engineering", "=ds="..GetSpellInfo(4036), ""};
{ 6, "INSCRIPTIONMENU", "INV_Inscription_Tradeskill01", "=ds="..GetSpellInfo(45357), ""};
{ 7, "JEWELCRAFTINGMENU", "INV_Misc_Gem_01", "=ds="..GetSpellInfo(25229), ""};
{ 8, "LEATHERWORKINGMENU", "INV_Misc_ArmorKit_17", "=ds="..GetSpellInfo(2108), ""};
{ 9, "Mining1", "Trade_Mining", "=ds="..GetSpellInfo(2575), ""};
{ 10, "TAILORINGMENU", "Trade_Tailoring", "=ds="..GetSpellInfo(3908), ""};
{ 12, "Cooking1", "INV_Misc_Food_15", "=ds="..GetSpellInfo(2550), ""};
{ 13, "FirstAid1", "Spell_Holy_SealOfSacrifice", "=ds="..GetSpellInfo(3273), ""};
{ 17, "CRAFTSET1", "INV_Box_01", AL["Crafted Sets"], ""};
{ 18, "CraftedWeapons1", "INV_Sword_1H_Blacksmithing_02", AL["Crafted Epic Weapons"], ""};
{ 20, "COOKINGDAILYMENU", "INV_Misc_Food_15", AL["Cooking Daily"], ""};
{ 21, "FISHINGDAILYMENU", "inv_fishingpole_03", AL["Fishing Daily"], ""};
{ 22, "JEWELCRAFTINGDAILYMENU", "INV_Misc_Gem_01", AL["Jewelcrafting Daily"], ""};
};
AtlasLoot_Data["ALCHEMYMENU"] = {
{ 2, "AlchemyBattleElixir1", "INV_Potion_23", "=ds="..AL["Battle Elixirs"], "" };
{ 3, "AlchemyPotion1", "INV_Potion_23", "=ds="..AL["Potions"], "" };
{ 4, "AlchemyTransmute1", "INV_Potion_23", "=ds="..AL["Transmutes"], "" };
{ 17, "AlchemyGuardianElixir1", "INV_Potion_23", "=ds="..AL["Guardian Elixirs"], "" };
{ 18, "AlchemyFlask1", "INV_Potion_23", "=ds="..AL["Flasks"], "" };
{ 19, "AlchemyMisc1", "INV_Potion_23", "=ds="..AL["Miscellaneous"], "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["SMITHINGMENU"] = {
{ 2, "SmithingArmorOld1", "Trade_BlackSmithing", "=ds="..BabbleInventory["Armor"], "=q5="..AL["Original WoW"] };
{ 3, "SmithingArmorBC1", "Trade_BlackSmithing", "=ds="..BabbleInventory["Armor"], "=q5="..AL["Burning Crusade"] };
{ 4, "SmithingArmorWrath1", "Trade_BlackSmithing", "=ds="..BabbleInventory["Armor"], "=q5="..AL["Wrath of the Lich King"] };
{ 5, "SmithingEnhancement1", "Trade_BlackSmithing", "=ds="..AL["Item Enhancements"], "" };
{ 7, "Armorsmith1", "Trade_BlackSmithing", "=ds="..GetSpellInfo(9788), "" };
{ 8, "Axesmith1", "Trade_BlackSmithing", "=ds="..GetSpellInfo(17041), "" };
{ 9, "Swordsmith1", "Trade_BlackSmithing", "=ds="..GetSpellInfo(17039), "" };
{ 17, "SmithingWeaponOld1", "Trade_BlackSmithing", "=ds="..BabbleInventory["Weapon"], "=q5="..AL["Original WoW"] };
{ 18, "SmithingWeaponBC1", "Trade_BlackSmithing", "=ds="..BabbleInventory["Weapon"], "=q5="..AL["Burning Crusade"] };
{ 19, "SmithingWeaponWrath1", "Trade_BlackSmithing", "=ds="..BabbleInventory["Weapon"], "=q5="..AL["Wrath of the Lich King"] };
{ 20, "SmithingMisc1", "Trade_BlackSmithing", "=ds="..AL["Miscellaneous"], "" };
{ 22, "Weaponsmith1", "Trade_BlackSmithing", "=ds="..GetSpellInfo(9787), "" };
{ 23, "Hammersmith1", "Trade_BlackSmithing", "=ds="..GetSpellInfo(17040), "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["ENCHANTINGMENU"] = {
{ 2, "EnchantingBoots1", "Trade_Engraving", "=ds="..AL["Enchant Boots"], "" };
{ 3, "EnchantingChest1", "Trade_Engraving", "=ds="..AL["Enchant Chest"], "" };
{ 4, "EnchantingGloves1", "Trade_Engraving", "=ds="..AL["Enchant Gloves"], "" };
{ 5, "EnchantingShield1", "Trade_Engraving", "=ds="..AL["Enchant Shield"], "" };
{ 6, "Enchanting2HWeapon1", "Trade_Engraving", "=ds="..AL["Enchant 2H Weapon"], "" };
{ 7, "EnchantingMisc1", "Trade_Engraving", "=ds="..AL["Miscellaneous"], "" };
{ 17, "EnchantingBracer1", "Trade_Engraving", "=ds="..AL["Enchant Bracer"], "" };
{ 18, "EnchantingCloak1", "Trade_Engraving", "=ds="..AL["Enchant Cloak"], "" };
{ 19, "EnchantingRing1", "Trade_Engraving", "=ds="..AL["Enchant Ring"], "" };
{ 20, "EnchantingStaff1", "Trade_Engraving", "=ds="..BabbleInventory["Staff"], "" };
{ 21, "EnchantingWeapon1", "Trade_Engraving", "=ds="..AL["Enchant Weapon"], "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["ENGINEERINGMENU"] = {
{ 2, "EngineeringAmmo1", "Trade_Engineering", "=ds="..AL["Ammunition"], "" };
{ 3, "EngineeringExplosives1", "Trade_Engineering", "=ds="..AL["Explosives"], "" };
{ 4, "EngineeringMisc1", "Trade_Engineering", "=ds="..AL["Miscellaneous"], "" };
{ 5, "EngineeringWeapon1", "Trade_Engineering", "=ds="..BabbleInventory["Weapon"], "" };
{ 7, "Gnomish1", "Trade_Engineering", "=ds="..GetSpellInfo(20220), "" };
{ 17, "EngineeringArmor1", "Trade_Engineering", "=ds="..BabbleInventory["Armor"], "" };
{ 18, "EngineeringItemEnhancements1", "Trade_Engineering", "=ds="..AL["Item Enhancements"], "" };
{ 19, "EngineeringReagents1", "Trade_Engineering", "=ds="..AL["Reagents"], "" };
{ 22, "Goblin1", "Trade_Engineering", "=ds="..GetSpellInfo(20221), "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["INSCRIPTIONMENU"] = {
{ 2, "Inscription_Scrolls1", "INV_Inscription_Tradeskill01", "=ds="..AL["Scrolls"], "" };
{ 3, "Inscription_Misc1", "INV_Inscription_Tradeskill01", "=ds="..AL["Miscellaneous"], "" };
{ 5, "Inscription_DeathKnightMajor1", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["Major Glyph"] };
{ 6, "Inscription_DruidMajor1", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Major Glyph"] };
{ 7, "Inscription_HunterMajor1", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], "=q5="..AL["Major Glyph"] };
{ 8, "Inscription_MageMajor1", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], "=q5="..AL["Major Glyph"] };
{ 9, "Inscription_PaladinMajor1", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Major Glyph"] };
{ 10, "Inscription_PriestMajor1", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Major Glyph"] };
{ 11, "Inscription_RogueMajor1", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], "=q5="..AL["Major Glyph"] };
{ 12, "Inscription_ShamanMajor1", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Major Glyph"] };
{ 13, "Inscription_WarlockMajor1", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Major Glyph"] };
{ 14, "Inscription_WarriorMajor1", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Major Glyph"] };
{ 17, "Inscription_OffHand1", "INV_Inscription_Tradeskill01", "=ds="..AL["Off-Hand Items"], "" };
{ 18, "Inscription_Reagents1", "INV_Inscription_Tradeskill01", "=ds="..AL["Reagents"], "" };
{ 20, "Inscription_DeathKnightMinor1", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["Minor Glyph"] };
{ 21, "Inscription_DruidMinor1", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Minor Glyph"] };
{ 22, "Inscription_HunterMinor1", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], "=q5="..AL["Minor Glyph"] };
{ 23, "Inscription_MageMinor1", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], "=q5="..AL["Minor Glyph"] };
{ 24, "Inscription_PaladinMinor1", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Minor Glyph"] };
{ 25, "Inscription_PriestMinor1", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Minor Glyph"] };
{ 26, "Inscription_RogueMinor1", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], "=q5="..AL["Minor Glyph"] };
{ 27, "Inscription_ShamanMinor1", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Minor Glyph"] };
{ 28, "Inscription_WarlockMinor1", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Minor Glyph"] };
{ 29, "Inscription_WarriorMinor1", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Minor Glyph"] };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["JEWELCRAFTINGMENU"] = {
{ 1, "JewelRed1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Red"].." "..BabbleInventory["Gem"], "" };
{ 2, "JewelBlue1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Blue"].." "..BabbleInventory["Gem"], "" };
{ 3, "JewelYellow1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Yellow"].." "..BabbleInventory["Gem"], "" };
{ 4, "JewelGreen1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Green"].." "..BabbleInventory["Gem"], "" };
{ 5, "JewelOrange1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Orange"].." "..BabbleInventory["Gem"], "" };
{ 6, "JewelPurple1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Purple"].." "..BabbleInventory["Gem"], "" };
{ 7, "JewelMeta1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Meta"].." "..BabbleInventory["Gem"], "" };
{ 8, "JewelPrismatic1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Prismatic"].." "..BabbleInventory["Gem"], "" };
{ 9, "JewelDragonsEye1", "INV_Misc_Gem_01", "=ds="..AL["Dragon's Eye"], "" };
{ 16, "JewelNeck1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Neck"], "" };
{ 17, "JewelTrinket1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Trinket"], "" };
{ 18, "JewelRing1", "INV_Misc_Gem_01", "=ds="..BabbleInventory["Ring"], "" };
{ 19, "JewelMisc1", "INV_Misc_Gem_01", "=ds="..AL["Miscellaneous"], "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["LEATHERWORKINGMENU"] = {
{ 2, "LeatherLeatherArmorOld1", "INV_Misc_ArmorKit_17", "=ds="..AL["Leather Armor"], "=q5="..AL["Original WoW"] };
{ 3, "LeatherLeatherArmorBC1", "INV_Misc_ArmorKit_17", "=ds="..AL["Leather Armor"], "=q5="..AL["Burning Crusade"] };
{ 4, "LeatherLeatherArmorWrath1", "INV_Misc_ArmorKit_17", "=ds="..AL["Leather Armor"], "=q5="..AL["Wrath of the Lich King"] };
{ 6, "LeatherCloaks1", "INV_Misc_ArmorKit_17", "=ds="..AL["Cloaks"], "" };
{ 7, "LeatherQuiversPouches1", "INV_Misc_ArmorKit_17", "=ds="..AL["Quivers and Ammo Pouches"], "" };
{ 8, "LeatherLeather1", "INV_Misc_ArmorKit_17", "=ds="..BabbleInventory["Leather"], "" };
{ 10, "Dragonscale1", "INV_Misc_ArmorKit_17", "=ds="..GetSpellInfo(10656), "" };
{ 11, "Tribal1", "INV_Misc_ArmorKit_17", "=ds="..GetSpellInfo(10660), "" };
{ 17, "LeatherMailArmorOld1", "INV_Misc_ArmorKit_17", "=ds="..AL["Mail Armor"], "=q5="..AL["Original WoW"] };
{ 18, "LeatherMailArmorBC1", "INV_Misc_ArmorKit_17", "=ds="..AL["Mail Armor"], "=q5="..AL["Burning Crusade"] };
{ 19, "LeatherMailArmorWrath1", "INV_Misc_ArmorKit_17", "=ds="..AL["Mail Armor"], "=q5="..AL["Wrath of the Lich King"] };
{ 21, "LeatherItemEnhancement1", "INV_Misc_ArmorKit_17", "=ds="..AL["Item Enhancements"], "" };
{ 22, "LeatherDrumsBagsMisc1", "INV_Misc_ArmorKit_17", "=ds="..AL["Drums, Bags and Misc."], "" };
{ 25, "Elemental1", "INV_Misc_ArmorKit_17", "=ds="..GetSpellInfo(10658), "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["TAILORINGMENU"] = {
{ 2, "TailoringArmorOld1", "Trade_Tailoring", "=ds="..AL["Cloth Armor"], "=q5="..AL["Original WoW"] };
{ 3, "TailoringArmorBC1", "Trade_Tailoring", "=ds="..AL["Cloth Armor"], "=q5="..AL["Burning Crusade"] };
{ 4, "TailoringArmorWotLK1", "Trade_Tailoring", "=ds="..AL["Cloth Armor"], "=q5="..AL["Wrath of the Lich King"] };
{ 6, "Mooncloth1", "Trade_Tailoring", "=ds="..GetSpellInfo(26798), "" };
{ 7, "Shadoweave1", "Trade_Tailoring", "=ds="..GetSpellInfo(26801), "" };
{ 17, "TailoringBags1", "Trade_Tailoring", "=ds="..AL["Bags"], "" };
{ 18, "TailoringMisc1", "Trade_Tailoring", "=ds="..AL["Miscellaneous"], "" };
{ 19, "TailoringShirts1", "Trade_Tailoring", "=ds="..AL["Shirts"], "" };
{ 21, "Spellfire1", "Trade_Tailoring", "=ds="..GetSpellInfo(26797), "" };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["CRAFTSET1"] = {
{ 1, "", "INV_Chest_Plate05", "=q6="..GetSpellInfo(2018), "=q5="..BabbleInventory["Plate"] };
{ 2, "BlacksmithingPlateImperialPlate", "INV_Belt_01", "=ds="..AL["Imperial Plate"], "" };
{ 3, "BlacksmithingPlateTheDarksoul", "INV_Shoulder_01", "=ds="..AL["The Darksoul"], "" };
{ 4, "BlacksmithingPlateFelIronPlate", "INV_Chest_Plate07", "=ds="..AL["Fel Iron Plate"], "" };
{ 5, "BlacksmithingPlateAdamantiteB", "INV_Gauntlets_30", "=ds="..AL["Adamantite Battlegear"], "" };
{ 6, "BlacksmithingPlateFlameG", "INV_Helmet_22", "=ds="..AL["Flame Guard"], "=q5="..AL["Fire Resistance Gear"] };
{ 7, "BlacksmithingPlateEnchantedAdaman", "INV_Belt_29", "=ds="..AL["Enchanted Adamantite Armor"], "=q5="..AL["Arcane Resistance Gear"] };
{ 8, "BlacksmithingPlateKhoriumWard", "INV_Boots_Chain_01", "=ds="..AL["Khorium Ward"], "" };
{ 9, "BlacksmithingPlateFaithFelsteel", "INV_Pants_Plate_06", "=ds="..AL["Faith in Felsteel"], "" };
{ 10, "BlacksmithingPlateBurningRage", "INV_Gauntlets_26", "=ds="..AL["Burning Rage"], "" };
{ 11, "BlacksmithingPlateOrnateSaroniteBattlegear", "inv_helmet_130", "=ds="..AL["Ornate Saronite Battlegear"], "" };
{ 12, "BlacksmithingPlateSavageSaroniteBattlegear", "inv_helmet_130", "=ds="..AL["Savage Saronite Battlegear"], "" };
{ 16, "", "INV_Chest_Chain_04", "=q6="..GetSpellInfo(2018), "=q5="..BabbleInventory["Mail"] };
{ 17, "BlacksmithingMailBloodsoulEmbrace", "INV_Shoulder_15", "=ds="..AL["Bloodsoul Embrace"], "" };
{ 18, "BlacksmithingMailFelIronChain", "INV_Helmet_35", "=ds="..AL["Fel Iron Chain"], "" };
Next = "CRAFTSET2";
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["CRAFTSET2"] = {
{ 1, "LeatherworkingLeatherVolcanicArmor", "INV_Pants_06", "=ds="..AL["Volcanic Armor"], "=q5="..AL["Fire Resistance Gear"] };
{ 2, "LeatherworkingLeatherIronfeatherArmor", "INV_Chest_Leather_06", "=ds="..AL["Ironfeather Armor"], "" };
{ 3, "LeatherworkingLeatherStormshroudArmor", "INV_Chest_Leather_08", "=ds="..AL["Stormshroud Armor"], "" };
{ 4, "LeatherworkingLeatherDevilsaurArmor", "INV_Pants_Wolf", "=ds="..AL["Devilsaur Armor"], "" };
{ 5, "LeatherworkingLeatherBloodTigerH", "INV_Shoulder_23", "=ds="..AL["Blood Tiger Harness"], "" };
{ 6, "LeatherworkingLeatherPrimalBatskin", "INV_Chest_Leather_03", "=ds="..AL["Primal Batskin"], "" };
{ 7, "LeatherworkingLeatherWildDraenishA", "INV_Pants_Leather_07", "=ds="..AL["Wild Draenish Armor"], "" };
{ 8, "LeatherworkingLeatherThickDraenicA", "INV_Boots_Chain_01", "=ds="..AL["Thick Draenic Armor"], "" };
{ 9, "LeatherworkingLeatherFelSkin", "INV_Gauntlets_22", "=ds="..AL["Fel Skin"], "" };
{ 10, "LeatherworkingLeatherSClefthoof", "INV_Boots_07", "=ds="..AL["Strength of the Clefthoof"], "" };
{ 11, "LeatherworkingLeatherPrimalIntent", "INV_Chest_Cloth_45", "=ds="..AL["Primal Intent"], "=q5="..GetSpellInfo(10658) };
{ 12, "LeatherworkingLeatherWindhawkArmor", "INV_Chest_Leather_01", "=ds="..AL["Windhawk Armor"], "=q5="..GetSpellInfo(10660) };
{ 16, "LeatherworkingLeatherBoreanEmbrace", "inv_helmet_110", "=ds="..AL["Borean Embrace"], "" };
{ 17, "LeatherworkingLeatherIceborneEmbrace", "inv_chest_fur", "=ds="..AL["Iceborne Embrace"], "" };
{ 18, "LeatherworkingLeatherEvisceratorBattlegear", "inv_helmet_04", "=ds="..AL["Eviscerator's Battlegear"], "" };
{ 19, "LeatherworkingLeatherOvercasterBattlegear", "inv_pants_leather_09", "=ds="..AL["Overcaster Battlegear"], "" };
Prev = "CRAFTSET1";
Next = "CRAFTSET3";
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["CRAFTSET3"] = {
{ 1, "LeatherworkingMailGreenDragonM", "INV_Pants_05", "=ds="..AL["Green Dragon Mail"], "=q5="..AL["Nature Resistance Gear"] };
{ 2, "LeatherworkingMailBlueDragonM", "INV_Chest_Chain_04", "=ds="..AL["Blue Dragon Mail"], "=q5="..AL["Arcane Resistance Gear"] };
{ 3, "LeatherworkingMailBlackDragonM", "INV_Pants_03", "=ds="..AL["Black Dragon Mail"], "=q5="..AL["Fire Resistance Gear"] };
{ 4, "LeatherworkingMailScaledDraenicA", "INV_Pants_Mail_07", "=ds="..AL["Scaled Draenic Armor"], "" };
{ 5, "LeatherworkingMailFelscaleArmor", "INV_Boots_Chain_08", "=ds="..AL["Felscale Armor"], "" };
{ 6, "LeatherworkingMailFelstalkerArmor", "INV_Belt_13", "=ds="..AL["Felstalker Armor"], "" };
{ 7, "LeatherworkingMailNetherFury", "INV_Pants_Plate_12", "=ds="..AL["Fury of the Nether"], "" };
{ 8, "LeatherworkingMailNetherscaleArmor", "INV_Belt_29", "=ds="..AL["Netherscale Armor"], "=q5="..GetSpellInfo(10656) };
{ 9, "LeatherworkingMailNetherstrikeArmor", "INV_Belt_03", "=ds="..AL["Netherstrike Armor"], "=q5="..GetSpellInfo(10656) };
{ 16, "LeatherworkingMailFrostscaleBinding", "inv_chest_chain_13", "=ds="..AL["Frostscale Binding"], "" };
{ 17, "LeatherworkingMailNerubianHive", "inv_helmet_110", "=ds="..AL["Nerubian Hive"], "" };
{ 18, "LeatherworkingMailStormhideBattlegear", "inv_pants_mail_18", "=ds="..AL["Stormhide Battlegear"], "" };
{ 19, "LeatherworkingMailSwiftarrowBattlefear", "inv_belt_19", "=ds="..AL["Swiftarrow Battlefear"], "" };
Prev = "CRAFTSET2";
Next = "CRAFTSET4";
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["CRAFTSET4"] = {
{ 1, "TailoringBloodvineG", "INV_Pants_Cloth_14", "=ds="..AL["Bloodvine Garb"], "" };
{ 2, "TailoringNeatherVest", "INV_Chest_Cloth_29", "=ds="..AL["Netherweave Vestments"], "" };
{ 3, "TailoringImbuedNeather", "INV_Pants_Leather_09", "=ds="..AL["Imbued Netherweave"], "" };
{ 4, "TailoringArcanoVest", "INV_Chest_Cloth_01", "=ds="..AL["Arcanoweave Vestments"], "=q5="..AL["Arcane Resistance Gear"] };
{ 5, "TailoringTheUnyielding", "INV_Belt_03", "=ds="..AL["The Unyielding"], "" };
{ 6, "TailoringWhitemendWis", "INV_Helmet_53", "=ds="..AL["Whitemend Wisdom"], "" };
{ 7, "TailoringSpellstrikeInfu", "INV_Pants_Cloth_14", "=ds="..AL["Spellstrike Infusion"], "" };
{ 8, "TailoringBattlecastG", "INV_Helmet_70", "=ds="..AL["Battlecast Garb"], "" };
{ 9, "TailoringSoulclothEm", "INV_Chest_Cloth_12", "=ds="..AL["Soulcloth Embrace"], "=q5="..AL["Arcane Resistance Gear"] };
{ 10, "TailoringPrimalMoon", "INV_Chest_Cloth_04", "=ds="..AL["Primal Mooncloth"], "=q5="..GetSpellInfo(26798) };
{ 11, "TailoringShadowEmbrace", "INV_Shoulder_25", "=ds="..AL["Shadow's Embrace"], "=q5="..GetSpellInfo(26801) };
{ 12, "TailoringSpellfireWrath", "INV_Gauntlets_19", "=ds="..AL["Wrath of Spellfire"], "=q5="..GetSpellInfo(26797) };
{ 16, "TailoringFrostwovenPower", "inv_belt_29", "=ds="..AL["Frostwoven Power"], "" };
{ 17, "TailoringDuskweaver", "inv_chest_cloth_19", "=ds="..AL["Frostsavage Battlegear"], "" };
{ 18, "TailoringFrostsavageBattlegear", "inv_helmet_125", "=ds="..AL["Battlecast Garb"], "" };
Prev = "CRAFTSET3";
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["COOKINGDAILYMENU"] = {
{ 2, "CookingDaily1", "inv_misc_cauldron_arcane", "=ds="..BabbleZone["Shattrath"], "=q5="..AL["Burning Crusade"] };
{ 17, "CookingDaily2", "achievement_profession_chefhat", "=ds="..BabbleZone["Dalaran"], "=q5="..AL["Wrath of the Lich King"] };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["FISHINGDAILYMENU"] = {
{ 2, "FishingDaily1", "inv_drink_19", "=ds="..BabbleZone["Terokkar Forest"], "=q5="..AL["Burning Crusade"] };
{ 17, "FishingDaily2", "inv_fishingpole_05", "=ds="..BabbleZone["Dalaran"], "=q5="..AL["Wrath of the Lich King"] };
Back = "CRAFTINGMENU";
};
AtlasLoot_Data["JEWELCRAFTINGDAILYMENU"] = {
{ 2, "JewelcraftingDaily1", "inv_jewelcrafting_gem_32", "=ds="..BabbleInventory["Red"].." / "..BabbleInventory["Yellow"].." "..BabbleInventory["Gem"], "=q5="..AL["Wrath of the Lich King"] };
{ 3, "JewelcraftingDaily3", "inv_jewelcrafting_gem_34", "=ds="..BabbleInventory["Green"].." "..BabbleInventory["Gem"], "=q5="..AL["Wrath of the Lich King"] };
{ 4, "JewelcraftingDaily5", "inv_jewelcrafting_gem_35", "=ds="..BabbleInventory["Blue"].." / "..BabbleInventory["Meta"].." "..BabbleInventory["Gem"], "=q5="..AL["Wrath of the Lich King"] };
{ 17, "JewelcraftingDaily2", "inv_jewelcrafting_gem_33", "=ds="..BabbleInventory["Orange"].." "..BabbleInventory["Gem"], "=q5="..AL["Wrath of the Lich King"] };
{ 18, "JewelcraftingDaily4", "inv_jewelcrafting_gem_31", "=ds="..BabbleInventory["Purple"].." "..BabbleInventory["Gem"], "=q5="..AL["Wrath of the Lich King"] };
{ 19, "JewelcraftingDaily6", "inv_jewelcrafting_dragonseye01", "=ds="..AL["Dragon's Eye"].." / "..BabbleInventory["Neck"].." / "..BabbleInventory["Ring"], "=q5="..AL["Wrath of the Lich King"] };
Back = "CRAFTINGMENU";
};
--Please don't delete EmptyTable, it is needed as it is certain to load
--even if no loot modules have loaded
AtlasLoot_Data["EmptyTable"] = {
};
+7
View File
@@ -0,0 +1,7 @@
<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/">
<Script file="CraftingMenus.lua"/>
<Script file="PvPMenus.lua"/>
<Script file="SetMenus.lua"/>
<Script file="WorldEventMenus.lua"/>
<Script file="RepMenus.lua"/>
</Ui>
+135
View File
@@ -0,0 +1,135 @@
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 BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_Data["PVPMENU"] = {
{ 1, "PvP60Accessories1_A", "inv_jewelry_trinketpvp_01", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 60"]};
{ 2, "PVPSET", "INV_Axe_02", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 60"]};
{ 4, "PvP70Accessories1_A", "inv_jewelry_ring_60", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 70"]};
{ 5, "PVP70RepSET", "INV_Axe_02", "=ds="..AL["PvP Reputation Sets"], "=q5="..AL["Level 70"]};
{ 6, "ARENASET", "inv_gauntlets_29", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 70"]};
{ 7, "PvP70NonSet1", "inv_belt_13", "=ds="..AL["PvP Non-Set Epics"], "=q5="..AL["Level 70"]};
{ 8, "PvP80NonSet1", "INV_Jewelry_Necklace_36", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 80"]};
{ 10, "PvP80Misc", "INV_Scroll_06", "=ds="..AL["PvP Misc"], "=q5="..AL["Level 80"]};
{ 11, "LEVEL80PVPSETS", "INV_Boots_01", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 80"], "" };
{ 13, "WINTERGRASPMENU", "INV_Misc_Platnumdisks", "=ds="..BabbleZone["Wintergrasp"], ""};
{ 15, "PVPMENU2", "INV_Jewelry_Necklace_21", "=ds="..AL["BG/Open PvP Rewards"], ""};
{ 16, "PVPWeapons_A", "INV_Weapon_Bow_08", "=ds="..AL["PvP Weapons"], "=q5="..AL["Level 60"]};
{ 17, "PvP60Ench", "INV_Scroll_06", "=ds="..AL["PvP Enchants"], "=q5="..AL["Level 60"]};
{ 19, "Arena1Weapons1", "INV_Weapon_Crossbow_9", "=ds="..AL["Arena Season 1 Weapons"], "=q5="..AL["Level 70"]};
{ 20, "Arena2Weapons1", "INV_Weapon_Crossbow_10", "=ds="..AL["Arena Season 2 Weapons"], "=q5="..AL["Level 70"]};
{ 21, "Arena3Weapons1", "INV_Weapon_Crossbow_11", "=ds="..AL["Arena Season 3 Weapons"], "=q5="..AL["Level 70"]};
{ 22, "Arena4Weapons1", "INV_Weapon_Crossbow_12", "=ds="..AL["Arena Season 4 Weapons"], "=q5="..AL["Level 70"]};
{ 23, "PVP80NONSETEPICS", "inv_bracer_51", "=ds="..AL["PvP Non-Set Epics"], "=q5="..AL["Level 80"]};
{ 25, "WrathfulGladiatorWeapons1", "INV_Sword_86", "=ds="..AL["Wrathful Gladiator\'s Weapons"], "=q5="..AL["Level 80"] };
{ 28, "VentureBay1", "INV_Misc_Coin_16", "=ds="..BabbleZone["Grizzly Hills"], "=q5="..AL["Venture Bay"]};
Back = "SETMENU";
};
AtlasLoot_Data["PVPMENU2"] = {
{ 3, "ABMisc_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Misc. Rewards"], "=q5="..BabbleZone["Arathi Basin"]};
{ 4, "ABSets1_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Arathi Basin Sets"], ""};
{ 18, "AB4049_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Level 40-49 Rewards"], "=q5="..BabbleZone["Arathi Basin"]};
{ 19, "AB2039_A", "INV_Jewelry_Amulet_07", "=ds="..AL["Level 20-39 Rewards"], "=q5="..BabbleZone["Arathi Basin"]};
{ 6, "WSGMisc", "INV_Misc_Rune_07", "=ds="..AL["Misc. Rewards"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 7, "WSGAccessories_A", "INV_Misc_Rune_07", "=ds="..AL["Accessories"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 21, "WSGWeapons_A", "INV_Misc_Rune_07", "=ds="..AL["Weapons"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 22, "WSGArmor_A", "INV_Misc_Rune_07", "=ds="..BabbleInventory["Armor"], "=q5="..BabbleZone["Warsong Gulch"]};
{ 9, "AVMisc", "INV_Jewelry_Necklace_21", "=ds="..BabbleZone["Alterac Valley"], ""};
{ 11, "Hellfire", "INV_Misc_Token_HonorHold", "=ds="..BabbleZone["Hellfire Peninsula"], "=q5="..AL["Hellfire Fortifications"]};
{ 12, "Zangarmarsh", "Spell_Nature_ElementalPrecision_1", "=ds="..BabbleZone["Zangarmarsh"], "=q5="..AL["Twin Spire Ruins"]};
{ 26, "Terokkar", "INV_Jewelry_FrostwolfTrinket_04", "=ds="..BabbleZone["Terokkar Forest"], "=q5="..AL["Spirit Towers"]};
{ 27, "Nagrand1", "INV_Misc_Rune_09", "=ds="..BabbleZone["Nagrand"], "=q5="..AL["Halaa"]};
Back = "PVPMENU";
};
AtlasLoot_Data["PVPSET"] = {
{ 3, "PVPDruid", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], ""};
{ 4, "PVPMage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 5, "PVPPriest", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], ""};
{ 6, "PVPShaman", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], ""};
{ 7, "PVPWarrior", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
{ 18, "PVPHunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 19, "PVPPaladin", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], ""};
{ 20, "PVPRogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 21, "PVPWarlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
Back = "PVPMENU";
};
-- PVP arena set BC
AtlasLoot_Data["ARENASET"] = {
{ 3, "ArenaDruidBalance", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
{ 4, "ArenaDruidFeral", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
{ 5, "ArenaDruidRestoration", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
{ 7, "ArenaHunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 9, "ArenaMage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 11, "ArenaPaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 12, "ArenaPaladinProtection", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Protection"]};
{ 13, "ArenaPaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "ArenaPriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "ArenaPriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "ArenaRogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "ArenaShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "ArenaShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "ArenaShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "ArenaWarlockDemonology", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Demonology"]};
{ 27, "ArenaWarlockDestruction", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Destruction"]};
{ 29, "ArenaWarrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
Back = "PVPMENU";
};
AtlasLoot_Data["PVP70RepSET"] = {
{ 3, "PVP70RepLeather", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], ""};
{ 4, "PVP70RepCloth", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 5, "PVP70RepCloth", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], ""};
{ 6, "PVP70RepMail", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], ""};
{ 7, "PVP70RepPlate", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
{ 18, "PVP70RepMail", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 19, "PVP70RepPlate", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], ""};
{ 20, "PVP70RepLeather", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 21, "PVP70RepCloth", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
Back = "PVPMENU";
};
AtlasLoot_Data["PVP80NONSETEPICS"] = {
{ 2, "PvP80NonSet3", "INV_Boots_Cloth_12", "=ds="..BabbleInventory["Cloth"], ""};
{ 3, "PvP80NonSet5", "INV_Boots_Plate_06", "=ds="..BabbleInventory["Mail"], ""};
{ 4, "PvP80ClassItems1", "Spell_Frost_SummonWaterElemental", "=ds="..BabbleInventory["Relic"], "" };
{ 17, "PvP80NonSet4", "INV_Boots_08", "=ds="..BabbleInventory["Leather"], ""};
{ 18, "PvP80NonSet6", "INV_Boots_Plate_04", "=ds="..BabbleInventory["Plate"], ""};
Back = "PVPMENU";
};
AtlasLoot_Data["LEVEL80PVPSETS"] = {
{ 2, "PvP80DeathKnight", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], ""};
{ 4, "PvP80DruidBalance", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
{ 5, "PvP80DruidFeral", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
{ 6, "PvP80DruidRestoration", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
{ 8, "PvP80Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 10, "PvP80Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 12, "PvP80PaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 13, "PvP80PaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "PvP80PriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "PvP80PriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "PvP80Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "PvP80ShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "PvP80ShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "PvP80ShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "PvP80Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
{ 28, "PvP80Warrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
Back = "PVPMENU";
};
AtlasLoot_Data["WINTERGRASPMENU"] = {
{ 2, "LakeWintergrasp2", "inv_helmet_136", "=ds="..BabbleInventory["Cloth"], ""};
{ 3, "LakeWintergrasp3", "INV_Helmet_141", "=ds="..BabbleInventory["Leather"], ""};
{ 4, "LakeWintergrasp4", "INV_Helmet_138", "=ds="..BabbleInventory["Mail"], ""};
{ 5, "LakeWintergrasp5", "inv_helmet_134", "=ds="..BabbleInventory["Plate"], ""};
{ 17, "LakeWintergrasp1", "inv_misc_rune_11", "=ds="..AL["Accessories"], ""};
{ 18, "LakeWintergrasp7", "inv_sword_19", "=ds="..AL["Heirloom"], ""};
{ 19, "LakeWintergrasp6", "inv_jewelcrafting_icediamond_02", "=ds="..AL["PVP Gems/Enchants/Jewelcrafting Designs"], ""};
Back = "PVPMENU";
};
+81
View File
@@ -0,0 +1,81 @@
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_Data["REPMENU"] = {
{ 2, "REPMENU_ORIGINALWOW", "INV_Helmet_66", "=ds="..AL["Factions - Original WoW"], ""};
{ 17, "REPMENU_BURNINGCRUSADE", "INV_Misc_Ribbon_01", "=ds="..AL["Factions - Burning Crusade"], ""};
{ 4, "AllianceVanguard1", "spell_misc_hellifrepvphonorholdfavor", "=ds="..BabbleFaction["Alliance Vanguard"], "=q5="..BabbleFaction["Alliance"]};
{ 5, "WinterfinRetreat", "INV_Misc_Shell_04", "=ds="..BabbleFaction["Winterfin Retreat"], "=q5="..BabbleZone["Borean Tundra"]};
{ 6, "TheWyrmrestAccord", "achievement_reputation_wyrmresttemple", "=ds="..BabbleFaction["The Wyrmrest Accord"], "=q5="..BabbleZone["Dragonblight"]};
{ 7, "KnightsoftheEbonBlade", "achievement_reputation_knightsoftheebonblade", "=ds="..BabbleFaction["Knights of the Ebon Blade"], "=q5="..BabbleZone["Zul'Drak"].." / "..BabbleZone["Icecrown"]};
{ 8, "TheOracles", "inv_misc_head_murloc_01", "=ds="..BabbleFaction["The Oracles"], "=q5="..BabbleZone["Sholazar Basin"]};
{ 9, "TheSonsofHodir1", "Spell_Holy_DivinePurpose", "=ds="..BabbleFaction["The Sons of Hodir"], "=q5="..BabbleZone["The Storm Peaks"]};
{ 19, "HordeExpedition1", "spell_misc_hellifrepvpthrallmarfavor", "=ds="..BabbleFaction["Horde Expedition"], "=q5="..BabbleFaction["Horde"]};
{ 20, "TheKaluak", "INV_Fishingpole_03", "=ds="..BabbleFaction["The Kalu'ak"], "" };
{ 21, "KirinTor", "achievement_reputation_kirintor", "=ds="..BabbleFaction["Kirin Tor"], "=q5="..BabbleZone["Borean Tundra"].." / "..BabbleZone["Dalaran"]};
{ 22, "ArgentCrusade", "INV_Jewelry_Talisman_08", "=ds="..BabbleFaction["Argent Crusade"], "=q5="..BabbleZone["Zul'Drak"].." / "..BabbleZone["Icecrown"]};
{ 23, "FrenzyheartTribe", "ability_mount_whitedirewolf", "=ds="..BabbleFaction["Frenzyheart Tribe"], "=q5="..BabbleZone["Sholazar Basin"]};
{ 24, "AshenVerdict", "INV_Jewelry_Ring_85", "=ds="..BabbleFaction["The Ashen Verdict"], "=q5="..BabbleZone["Icecrown"]};
};
AtlasLoot_Data["REPMENU_ORIGINALWOW"] = {
{ 2, "Argent1", "inv_jewelry_talisman_07", "=ds="..BabbleFaction["Argent Dawn"], "=q5="..BabbleZone["Eastern Plaguelands"]};
{ 3, "AQBroodRings", "inv_misc_head_dragon_bronze", "=ds="..BabbleFaction["Brood of Nozdormu"], "=q5="..BabbleZone["Temple of Ahn'Qiraj"].." / "..BabbleZone["Caverns of Time"]};
{ 4, "MiscFactions", "INV_Jewelry_Amulet_07", "=ds="..BabbleFaction["The Defilers"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Arathi Basin"]};
{ 5, "MiscFactions", "INV_Misc_Head_Centaur_01", "=ds="..BabbleFaction["Gelkis Clan Centaur"], "=q5="..BabbleZone["Desolace"]};
{ 6, "MiscFactions", "INV_Jewelry_Amulet_07", "=ds="..BabbleFaction["The League of Arathor"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Arathi Basin"]};
{ 7, "AlteracFactions", "INV_Jewelry_StormPikeTrinket_01", "=ds="..BabbleFaction["Stormpike Guard"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Alterac Valley"]};
{ 8, "Timbermaw", "achievement_reputation_timbermaw", "=ds="..BabbleFaction["Timbermaw Hold"], ""};
{ 9, "Zandalar1", "inv_bijou_green", "=ds="..BabbleFaction["Zandalar Tribe"], "=q5="..BabbleZone["Zul'Gurub"]};
{ 17, "BloodsailHydraxian", "INV_Helmet_66", "=ds="..BabbleFaction["Bloodsail Buccaneers"], "=q5="..BabbleZone["Stranglethorn Vale"]};
{ 18, "Cenarion1", "ability_racial_ultravision", "=ds="..BabbleFaction["Cenarion Circle"], ""};
{ 19, "AlteracFactions", "INV_Jewelry_FrostwolfTrinket_01", "=ds="..BabbleFaction["Frostwolf Clan"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Alterac Valley"]};
{ 20, "BloodsailHydraxian", "Spell_Frost_SummonWaterElemental_2", "=ds="..BabbleFaction["Hydraxian Waterlords"], "=q5="..BabbleZone["Molten Core"]};
{ 21, "MiscFactions", "INV_Misc_Head_Centaur_01", "=ds="..BabbleFaction["Magram Clan Centaur"], "=q5="..BabbleZone["Desolace"]};
{ 22, "Thorium1", "INV_Ingot_Mithril", "=ds="..BabbleFaction["Thorium Brotherhood"], "=q5="..BabbleZone["Searing Gorge"]};
{ 23, "MiscFactions", "Ability_Mount_PinkTiger", "=ds="..BabbleFaction["Wintersaber Trainers"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Winterspring"]};
Back = "REPMENU";
};
AtlasLoot_Data["REPMENU_BURNINGCRUSADE"] = {
{ 2, "Aldor1", "INV_Jewelry_Talisman_08", "=ds="..BabbleFaction["The Aldor"], ""};
{ 3, "CExpedition1", "INV_Misc_Ammo_Arrow_02", "=ds="..BabbleFaction["Cenarion Expedition"], "=q5="..BabbleZone["Zangarmarsh"]};
{ 4, "HonorHold1", "INV_BannerPVP_02", "=ds="..BabbleFaction["Honor Hold"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Hellfire Peninsula"]};
{ 5, "Kurenai1", "INV_Misc_Foot_Centaur", "=ds="..BabbleFaction["Kurenai"], "=q5="..BabbleFaction["Alliance"].." - "..BabbleZone["Nagrand"]};
{ 6, "Maghar1", "INV_Misc_Foot_Centaur", "=ds="..BabbleFaction["The Mag'har"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Nagrand"]};
{ 7, "Ogrila1", "inv_misc_apexis_crystal", "=ds="..BabbleFaction["Ogri'la"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
{ 8, "Scryer1", "INV_Misc_Foot_Centaur", "=ds="..BabbleFaction["The Scryers"], ""};
{ 9, "Skyguard1", "INV_Misc_Ribbon_01", "=ds="..BabbleFaction["Sha'tari Skyguard"], "=q5="..BabbleZone["Terokkar Forest"].." / "..BabbleZone["Blade's Edge Mountains"]};
{ 10, "Sporeggar1", "inv_mushroom_11", "=ds="..BabbleFaction["Sporeggar"], "=q5="..BabbleZone["Zangarmarsh"]};
{ 11, "Tranquillien1", "INV_Misc_Bandana_03", "=ds="..BabbleFaction["Tranquillien"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Ghostlands"]};
{ 17, "Ashtongue1", "achievement_reputation_ashtonguedeathsworn", "=ds="..BabbleFaction["Ashtongue Deathsworn"], "=q5="..BabbleZone["Shadowmoon Valley"].." / "..BabbleZone["Black Temple"]};
{ 18, "Consortium1", "INV_Weapon_Shortblade_31", "=ds="..BabbleFaction["The Consortium"], ""};
{ 19, "KeepersofTime1", "Ability_Warrior_VictoryRush", "=ds="..BabbleFaction["Keepers of Time"], "=q5="..BabbleZone["Caverns of Time"]};
{ 20, "LowerCity1", "Spell_Holy_ChampionsBond", "=ds="..BabbleFaction["Lower City"], ""};
{ 21, "Netherwing1", "Ability_Mount_Netherdrakepurple", "=ds="..BabbleFaction["Netherwing"], "=q5="..BabbleZone["Shadowmoon Valley"]};
{ 22, "ScaleSands1", "INV_Misc_MonsterScales_13", "=ds="..BabbleFaction["The Scale of the Sands"], "=q5="..BabbleZone["Hyjal Summit"]};
{ 23, "Shatar1", "Ability_Warrior_ShieldMastery", "=ds="..BabbleFaction["The Sha'tar"], ""};
{ 24, "SunOffensive1", "inv_shield_48", "=ds="..BabbleFaction["Shattered Sun Offensive"], "=q5="..BabbleZone["Isle of Quel'Danas"]};
{ 25, "Thrallmar1", "INV_BannerPVP_01", "=ds="..BabbleFaction["Thrallmar"], "=q5="..BabbleFaction["Horde"].." - "..BabbleZone["Hellfire Peninsula"]};
{ 26, "VioletEye1", "spell_holy_mindsooth", "=ds="..BabbleFaction["The Violet Eye"], "=q5="..BabbleZone["Karazhan"]};
Back = "REPMENU";
};
AtlasLoot_Data["REPMENU_WOTLK"] = {
{ 2, "AllianceVanguard1", "spell_misc_hellifrepvphonorholdfavor", "=ds="..BabbleFaction["Alliance Vanguard"], "=q5="..BabbleFaction["Alliance"]};
{ 3, "WinterfinRetreat", "INV_Misc_Shell_04", "=ds="..BabbleFaction["Winterfin Retreat"], "=q5="..BabbleZone["Borean Tundra"]};
{ 4, "TheWyrmrestAccord", "achievement_reputation_wyrmresttemple", "=ds="..BabbleFaction["The Wyrmrest Accord"], "=q5="..BabbleZone["Dragonblight"]};
{ 5, "KnightsoftheEbonBlade", "achievement_reputation_knightsoftheebonblade", "=ds="..BabbleFaction["Knights of the Ebon Blade"], "=q5="..BabbleZone["Zul'Drak"].." / "..BabbleZone["Icecrown"]};
{ 6, "TheOracles", "inv_misc_head_murloc_01", "=ds="..BabbleFaction["The Oracles"], "=q5="..BabbleZone["Sholazar Basin"]};
{ 7, "TheSonsofHodir1", "Spell_Holy_DivinePurpose", "=ds="..BabbleFaction["The Sons of Hodir"], "=q5="..BabbleZone["The Storm Peaks"]};
{ 17, "HordeExpedition1", "spell_misc_hellifrepvpthrallmarfavor", "=ds="..BabbleFaction["Horde Expedition"], "=q5="..BabbleFaction["Horde"]};
{ 18, "TheKaluak", "INV_Fishingpole_03", "=ds="..BabbleFaction["The Kalu'ak"], "" };
{ 19, "KirinTor", "achievement_reputation_kirintor", "=ds="..BabbleFaction["Kirin Tor"], "=q5="..BabbleZone["Borean Tundra"].." / "..BabbleZone["Dalaran"]};
{ 20, "ArgentCrusade", "INV_Jewelry_Talisman_08", "=ds="..BabbleFaction["Argent Crusade"], "=q5="..BabbleZone["Zul'Drak"].." / "..BabbleZone["Icecrown"]};
{ 21, "FrenzyheartTribe", "ability_mount_whitedirewolf", "=ds="..BabbleFaction["Frenzyheart Tribe"], "=q5="..BabbleZone["Sholazar Basin"]};
{ 22, "AshenVerdict", "INV_Jewelry_Ring_85", "=ds="..BabbleFaction["The Ashen Verdict"], "=q5="..BabbleZone["Icecrown"]};
Back = "REPMENU";
};
+300
View File
@@ -0,0 +1,300 @@
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_Data["SETMENU"] = {
{ 2, "EMBLEMOFFROSTMENU", "inv_misc_frostemblem_01", "=ds="..AL["Emblem of Frost Rewards"], "=q5="..AL["Wrath of the Lich King"]};
{ 3, "EMBLEMOFTRIUMPHMENU", "spell_holy_summonchampion", "=ds="..AL["Emblem of Triumph Rewards"], "=q5="..AL["Wrath of the Lich King"]};
{ 4, "EMBLEMOFCONQUESTMENU", "Spell_Holy_ChampionsGrace", "=ds="..AL["Emblem of Conquest Rewards"], "=q5="..AL["Wrath of the Lich King"]};
{ 5, "EMBLEMOFVALORMENU", "Spell_Holy_ProclaimChampion_02", "=ds="..AL["Emblem of Valor Rewards"], "=q5="..AL["Wrath of the Lich King"]};
{ 6, "EMBLEMOFHEROISMMENU", "Spell_Holy_ProclaimChampion", "=ds="..AL["Emblem of Heroism Rewards"], "=q5="..AL["Wrath of the Lich King"]};
{ 7, "70TOKENMENU", "Spell_Holy_ChampionsBond", "=ds="..AL["Badge of Justice Rewards"], "=q5="..AL["Burning Crusade"]};
{ 8, "WORLDEPICS", "INV_Sword_76", "=ds="..AL["BoE World Epics"], ""};
{ 9, "Legendaries", "INV_Staff_Medivh", "=ds="..AL["Legendary Items"], ""};
{ 10, "MOUNTMENU", "INV_Misc_QirajiCrystal_05", "=ds="..AL["Mounts"], ""};
{ 11, "PETMENU", "INV_Box_PetCarrier_01", "=ds="..AL["Vanity Pets"], ""};
{ 12, "Tabards3", "INV_Shirt_GuildTabard_01", "=ds="..AL["Tabards"], ""};
{ 13, "CardGame1", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Upper Deck Card Game Items"], ""};
{ 15, "PVPMENU", "INV_Axe_02", "=ds="..AL["PvP Rewards"], ""};
{ 17, "SETSMISCMENU", "INV_Sword_43", "=ds="..AL["Misc Sets"], ""};
{ 18, "ZGSets1", "INV_Jewelry_Necklace_19", "=ds="..AL["Zul'Gurub Sets"], ""};
{ 19, "AQ20Sets1", "INV_Jewelry_Ring_AhnQiraj_03", "=ds="..AL["Ruins of Ahn'Qiraj Sets"], ""};
{ 20, "AQ40Sets1", "INV_Sword_59", "=ds="..AL["Temple of Ahn'Qiraj Sets"], ""};
{ 21, "Heirloom", "INV_Sword_43", "=ds="..AL["Heirloom"], ""};
{ 23, "T0SET", "INV_Chest_Chain_03", "=ds="..AL["Dungeon 1/2 Sets"], ""};
{ 24, "DS3SET", "INV_Helmet_15", "=ds="..AL["Dungeon 3 Sets"], ""};
{ 25, "T1T2T3SET", "INV_Pants_Mail_03", "=ds="..AL["Tier 1/2/3 Sets"], ""};
{ 26, "T456SET", "INV_Gauntlets_63", "=ds="..AL["Tier 4/5/6 Sets"], ""};
{ 27, "T7T8SET", "INV_Chest_Chain_15", "=ds="..AL["Tier 7/8 Sets"], "=q5="..AL["10/25 Man"]};
{ 28, "T9SET", "inv_gauntlets_80", "=ds="..AL["Tier 9 Sets"], "=q5="..AL["10/25 Man"]};
{ 29, "T10SET", "INV_Chest_Chain_15", "=ds="..AL["Tier 10 Sets"], "=q5="..AL["10/25 Man"]};
};
AtlasLoot_Data["70TOKENMENU"] = {
{ 2, "HardModeCloth", "Spell_Holy_ChampionsBond", "=ds="..BabbleInventory["Cloth"], ""};
{ 3, "HardModeMail", "Spell_Holy_ChampionsBond", "=ds="..BabbleInventory["Mail"], ""};
{ 4, "HardModeResist", "Spell_Holy_ChampionsBond", "=ds="..AL["Fire Resistance Gear"], ""};
{ 6, "HardModeRelic", "Spell_Holy_ChampionsBond", "=ds="..BabbleInventory["Relic"], ""};
{ 8, "HardModeWeapons", "Spell_Holy_ChampionsBond", "=ds="..AL["Weapons"], ""};
{ 17, "HardModeLeather", "Spell_Holy_ChampionsBond", "=ds="..BabbleInventory["Leather"], ""};
{ 18, "HardModePlate", "Spell_Holy_ChampionsBond", "=ds="..BabbleInventory["Plate"], ""};
{ 19, "HardModeCloaks", "Spell_Holy_ChampionsBond", "=ds="..BabbleInventory["Back"], ""};
{ 21, "HardModeArena", "Spell_Holy_ChampionsBond", "=ds="..AL["PvP Rewards"], ""};
{ 23, "HardModeAccessories", "Spell_Holy_ChampionsBond", "=ds="..AL["Accessories"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["EMBLEMOFHEROISMMENU"] = {
{ 2, "EmblemofHeroism", "Spell_Holy_ProclaimChampion", "=ds="..BabbleInventory["Armor"].." & "..AL["Weapons"], ""};
{ 3, "EmblemofHeroism3", "Spell_Holy_ProclaimChampion", "=ds="..BabbleInventory["Miscellaneous"], ""};
{ 4, "LEVEL80PVPSETS", "Spell_Holy_ProclaimChampion", "=ds="..AL["Level 80 PvP Sets"], "" };
{ 17, "EmblemofHeroism2", "Spell_Holy_ProclaimChampion", "=ds="..AL["Accessories"], ""};
{ 18, "EmblemofHeroism4", "Spell_Holy_ProclaimChampion", "=ds="..AL["Heirloom"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["EMBLEMOFCONQUESTMENU"] = {
{ 2, "EmblemofConquest1", "Spell_Holy_ChampionsGrace", "=ds="..AL["Vendor"], ""};
{ 17, "LEVEL80PVPSETS", "Spell_Holy_ChampionsGrace", "=ds="..AL["Level 80 PvP Sets"], "" };
Back = "SETMENU";
};
AtlasLoot_Data["EMBLEMOFVALORMENU"] = {
{ 2, "EmblemofValor", "Spell_Holy_ProclaimChampion_02", "=ds="..BabbleInventory["Armor"], ""};
{ 3, "LEVEL80PVPSETS", "Spell_Holy_ProclaimChampion_02", "=ds="..AL["Level 80 PvP Sets"], "" };
{ 17, "EmblemofValor2", "Spell_Holy_ProclaimChampion_02", "=ds="..AL["Accessories"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["EMBLEMOFTRIUMPHMENU"] = {
{ 2, "EmblemofTriumph1_A", "spell_holy_summonchampion", "=ds="..BabbleInventory["Armor"], ""};
{ 3, "EmblemofTriumph2", "spell_holy_summonchampion", "=ds="..AL["Accessories"].." & "..AL["Weapons"], ""};
{ 17, "LEVEL80PVPSETS", "spell_holy_summonchampion", "=ds="..AL["Level 80 PvP Sets"], "" };
{ 18, "T9SET", "spell_holy_summonchampion", "=ds="..AL["Tier 9 Sets"], "=q5="..AL["10/25 Man"]};
Back = "SETMENU";
};
AtlasLoot_Data["EMBLEMOFFROSTMENU"] = {
{ 2, "EmblemofFrost", "inv_misc_frostemblem_01", "=ds="..BabbleInventory["Armor"].." & "..AL["Weapons"], ""};
{ 17, "T10SET", "inv_misc_frostemblem_01", "=ds="..AL["Tier 10 Sets"], "=q5="..AL["10/25 Man"]};
Back = "SETMENU";
};
AtlasLoot_Data["WORLDEPICS"] = {
{ 2, "WorldEpicsWrath1", "INV_Sword_109", "=ds="..AL["Level 80"], ""};
{ 3, "WorldEpics3", "INV_Jewelry_Amulet_01", "=ds="..AL["Level 50-60"], ""};
{ 4, "WorldEpics1", "INV_Jewelry_Ring_15", "=ds="..AL["Level 30-39"], ""};
{ 17, "WorldEpics4", "INV_Sword_76", "=ds="..AL["Level 70"], ""};
{ 18, "WorldEpics2", "INV_Staff_29", "=ds="..AL["Level 40-49"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["MOUNTMENU"] = {
{ 2, "MountsAlliance1", "achievement_pvp_a_16", "=ds="..AL["Alliance Mounts"], ""};
{ 3, "MountsFaction1", "ability_mount_warhippogryph", "=ds="..AL["Neutral Faction Mounts"], ""};
{ 4, "MountsRare1", "ability_mount_drake_bronze", "=ds="..AL["Rare Mounts"], ""};
{ 5, "MountsEvent1", "achievement_halloween_witch_01", "=ds="..AL["World Events"], ""};
{ 17, "MountsHorde1", "achievement_pvp_h_16", "=ds="..AL["Horde Mounts"], ""};
{ 18, "MountsPvP1", "ability_mount_netherdrakeelite", "=ds="..AL["PvP Mounts"], ""};
{ 19, "MountsCraftQuestPromotion1", "INV_Misc_QirajiCrystal_05", "=ds="..AL["Quest"].." / "..AL["Promotional"].." / "..AL["Crafted Mounts"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["PETMENU"] = {
{ 2, "PetsMerchant1", "spell_nature_polymorph", "=ds="..AL["Merchant Sold"], ""};
{ 3, "PetsRare1", "spell_shaman_hex", "=ds="..AL["Rare"], ""};
{ 4, "PetsPromotional1", "inv_netherwhelp", "=ds="..AL["Promotional"], ""};
{ 5, "PetsAccessories1", "inv_misc_petbiscuit_01", "=ds="..AL["Accessories"], ""};
{ 17, "PetsQuestCrafted1", "inv_drink_19", "=ds="..AL["Quest"].." / "..AL["Crafted"], ""};
{ 18, "PetsEvent1", "inv_pet_egbert", "=ds="..AL["World Events"], ""};
{ 19, "PetsPetStore1", "INV_Misc_Coin_01", "=ds="..AL["Pet Store"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["SETSMISCMENU"] = {
{ 2, "SETSCLASSIC", "INV_Sword_43", "=ds="..AL["Classic Sets"], ""};
{ 3, "SETSWRATHOFLICHKING", "inv_misc_monsterscales_15", "=ds="..AL["Wrath Of The Lich King Sets"], ""};
{ 17, "SETSBURNINGCURSADE", "INV_Weapon_Glave_01", "=ds="..AL["Burning Crusade Sets"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["SETSCLASSIC"] = {
{ 2, "VWOWSets1", "INV_Pants_12", "=ds="..AL["Defias Leather"], "=q5="..BabbleZone["The Deadmines"]};
{ 3, "VWOWSets1", "INV_Shirt_16", "=ds="..AL["Embrace of the Viper"], "=q5="..BabbleZone["Wailing Caverns"]};
{ 4, "VWOWSets1", "INV_Gauntlets_19", "=ds="..AL["Chain of the Scarlet Crusade"], "=q5="..BabbleZone["Scarlet Monastery"]};
{ 5, "VWOWSets1", "INV_Helmet_01", "=ds="..AL["The Gladiator"], "=q5="..BabbleZone["Blackrock Depths"]};
{ 6, "VWOWSets2", "INV_Boots_Cloth_05", "=ds="..AL["Ironweave Battlesuit"], "=q5="..AL["Various Locations"]};
{ 7, "VWOWSets2", "INV_Boots_02", "=ds="..AL["The Postmaster"], "=q5="..BabbleZone["Stratholme"]};
{ 8, "VWOWScholo", "INV_Shoulder_02", "=ds="..AL["Necropile Raiment"], "=q5="..BabbleZone["Scholomance"]};
{ 9, "VWOWScholo", "INV_Belt_16", "=ds="..AL["Cadaverous Garb"], "=q5="..BabbleZone["Scholomance"]};
{ 10, "VWOWScholo", "INV_Gauntlets_26", "=ds="..AL["Bloodmail Regalia"], "=q5="..BabbleZone["Scholomance"]};
{ 11, "VWOWScholo", "INV_Belt_12", "=ds="..AL["Deathbone Guardian"], "=q5="..BabbleZone["Scholomance"]};
{ 17, "VWOWSets3", "INV_Weapon_ShortBlade_16", "=ds="..AL["Spider's Kiss"], "=q5="..BabbleZone["Lower Blackrock Spire"]};
{ 18, "VWOWSets3", "INV_Sword_43", "=ds="..AL["Dal'Rend's Arms"], "=q5="..BabbleZone["Upper Blackrock Spire"]};
{ 19, "VWOWZulGurub", "INV_Bijou_Orange", "=ds="..AL["Zul'Gurub Rings"], "=q5="..BabbleZone["Zul'Gurub"]};
{ 20, "VWOWZulGurub", "INV_Weapon_Hand_01", "=ds="..AL["Primal Blessing"], "=q5="..BabbleZone["Zul'Gurub"]};
{ 21, "VWOWZulGurub", "INV_Sword_55", "=ds="..AL["The Twin Blades of Hakkari"], "=q5="..BabbleZone["Zul'Gurub"]};
{ 22, "VWOWSets3", "INV_Misc_MonsterScales_15", "=ds="..AL["Shard of the Gods"], "=q5="..AL["Various Locations"]};
{ 23, "VWOWSets3", "INV_Misc_MonsterClaw_04", "=ds="..AL["Spirit of Eskhandar"], "=q5="..AL["Various Locations"]};
Back = "SETSMISCMENU";
};
AtlasLoot_Data["SETSBURNINGCURSADE"] = {
{ 2, "TBCSets", "INV_Sword_76", "=ds="..AL["Latro's Flurry"], "=q5="..AL["World Drop"]};
{ 3, "TBCSets", "INV_Jewelry_Necklace_36", "=ds="..AL["The Twin Stars"], "=q5="..AL["World Drop"]};
{ 4, "TBCSets", "INV_Weapon_Hand_14", "=ds="..AL["The Fists of Fury"], "=q5="..BabbleZone["Hyjal Summit"]};
{ 5, "TBCSets", "INV_Weapon_Glave_01", "=ds="..AL["The Twin Blades of Azzinoth"], "=q5="..BabbleZone["Black Temple"]};
{ 6, "ScourgeInvasionEvent2", "INV_Jewelry_Talisman_13", "=ds="..AL["Scourge Invasion Sets"], "=q5="..AL["Scourge Invasion"]};
Back = "SETSMISCMENU";
};
AtlasLoot_Data["SETSWRATHOFLICHKING"] = {
{ 2, "WOTLKSets", "inv_jewelry_necklace_27", "=ds="..AL["Raine's Revenge"], "=q5="..AL["World Drop"]};
{ 3, "WOTLKSets", "inv_misc_monsterscales_15", "=ds="..AL["Purified Shard of the Gods"], "=q5="..BabbleZone["Onyxia's Lair"]};
{ 4, "WOTLKSets", "inv_misc_monsterscales_15", "=ds="..AL["Shiny Shard of the Gods"], "=q5="..BabbleZone["Onyxia's Lair"]};
Back = "SETSMISCMENU";
};
AtlasLoot_Data["T0SET"] = {
{ 3, "T0Druid", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], ""};
{ 4, "T0Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 5, "T0Priest", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], ""};
{ 6, "T0Shaman", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], ""};
{ 7, "T0Warrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
{ 18, "T0Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 19, "T0Paladin", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], ""};
{ 20, "T0Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 21, "T0Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
Back = "SETMENU";
};
AtlasLoot_Data["DS3SET"] = {
{ 2, "DS3Cloth", "Spell_Holy_InnerFire", "=ds="..AL["Hallowed Raiment"], "=q5="..BabbleInventory["Cloth"]};
{ 3, "DS3Cloth", "INV_Elemental_Mote_Nether", "=ds="..AL["Mana-Etched Regalia"], "=q5="..BabbleInventory["Cloth"]};
{ 5, "DS3Leather", "Ability_Rogue_SinisterCalling", "=ds="..AL["Assassination Armor"], "=q5="..BabbleInventory["Leather"]};
{ 6, "DS3Leather", "Ability_Hunter_RapidKilling", "=ds="..AL["Wastewalker Armor"], "=q5="..BabbleInventory["Leather"]};
{ 8, "DS3Mail", "Ability_Hunter_Pet_Wolf", "=ds="..AL["Beast Lord Armor"], "=q5="..BabbleInventory["Mail"]};
{ 9, "DS3Mail", "INV_Helmet_70", "=ds="..AL["Tidefury Raiment"], "=q5="..BabbleInventory["Mail"]};
{ 11, "DS3Plate", "Spell_Fire_EnchantWeapon", "=ds="..AL["Bold Armor"], "=q5="..BabbleInventory["Plate"]};
{ 12, "DS3Plate", "INV_Hammer_02", "=ds="..AL["Righteous Armor"], "=q5="..BabbleInventory["Plate"]};
{ 17, "DS3Cloth", "Ability_Creature_Cursed_04", "=ds="..AL["Incanter's Regalia"], "=q5="..BabbleInventory["Cloth"]};
{ 18, "DS3Cloth", "Ability_Creature_Cursed_03", "=ds="..AL["Oblivion Raiment"], "=q5="..BabbleInventory["Cloth"]};
{ 20, "DS3Leather", "Spell_Holy_SealOfRighteousness", "=ds="..AL["Moonglade Raiment"], "=q5="..BabbleInventory["Leather"]};
{ 23, "DS3Mail", "Ability_FiegnDead", "=ds="..AL["Desolation Battlegear"], "=q5="..BabbleInventory["Mail"]};
{ 26, "DS3Plate", "INV_Helmet_08", "=ds="..AL["Doomplate Battlegear"], "=q5="..BabbleInventory["Plate"]};
Back = "SETMENU";
};
AtlasLoot_Data["T1T2T3SET"] = {
{ 1, "T1T2Druid", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Tier 1/2 Sets"]};
{ 2, "T3Druid", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Tier 3 Sets"]};
{ 4, "T1T2Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], "=q5="..AL["Tier 1/2 Sets"]};
{ 5, "T3Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], "=q5="..AL["Tier 3 Sets"]};
{ 7, "T1T2Priest", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Tier 1/2 Sets"]};
{ 8, "T3Priest", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Tier 3 Sets"]};
{ 10, "T1T2Shaman", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Tier 1/2 Sets"]};
{ 11, "T3Shaman", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Tier 3 Sets"]};
{ 13, "T1T2Warrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Tier 1/2 Sets"]};
{ 14, "T3Warrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Tier 3 Sets"]};
{ 16, "T1T2Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], "=q5="..AL["Tier 1/2 Sets"]};
{ 17, "T3Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], "=q5="..AL["Tier 3 Sets"]};
{ 19, "T1T2Paladin", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Tier 1/2 Sets"]};
{ 20, "T3Paladin", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Tier 3 Sets"]};
{ 22, "T1T2Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], "=q5="..AL["Tier 1/2 Sets"]};
{ 23, "T3Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], "=q5="..AL["Tier 3 Sets"]};
{ 25, "T1T2Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Tier 1/2 Sets"]};
{ 26, "T3Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], "=q5="..AL["Tier 3 Sets"]};
Back = "SETMENU";
};
AtlasLoot_Data["T456SET"] = {
{ 2, "T456DruidBalance", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
{ 3, "T456DruidFeral", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
{ 4, "T456DruidRestoration", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
{ 6, "T456Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 8, "T456Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 10, "T456PaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 11, "T456PaladinProtection", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Protection"]};
{ 12, "T456PaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "T456PriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "T456PriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "T456Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "T456ShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "T456ShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "T456ShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "T456Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
{ 28, "T456WarriorFury", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Fury"]};
{ 29, "T456WarriorProtection", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Protection"]};
Back = "SETMENU";
};
AtlasLoot_Data["T7T8SET"] = {
{ 2, "NaxxDeathKnightDPS", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["DPS"]};
{ 3, "NaxxDeathKnightTank", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["Tanking"]};
{ 5, "NaxxDruidBalance", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
{ 6, "NaxxDruidFeral", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
{ 7, "NaxxDruidRestoration", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
{ 9, "NaxxHunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 11, "NaxxMage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 13, "NaxxPaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 14, "NaxxPaladinProtection", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Protection"]};
{ 15, "NaxxPaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "NaxxPriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "NaxxPriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "NaxxRogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "NaxxShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "NaxxShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "NaxxShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "NaxxWarlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
{ 28, "NaxxWarriorFury", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Fury"]};
{ 29, "NaxxWarriorProtection", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Protection"]};
Back = "SETMENU";
};
AtlasLoot_Data["T9SET"] = {
{ 2, "T9DeathKnightDPS_A", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["DPS"]};
{ 3, "T9DeathKnightTank_A", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["Tanking"]};
{ 5, "T9DruidBalance_A", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
{ 6, "T9DruidFeral_A", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
{ 7, "T9DruidRestoration_A", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
{ 9, "T9Hunter_A", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 11, "T9Mage_A", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 13, "T9PaladinHoly_A", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 14, "T9PaladinProtection_A", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Protection"]};
{ 15, "T9PaladinRetribution_A", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "T9PriestHoly_A", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "T9PriestShadow_A", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "T9Rogue_A", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "T9ShamanElemental_A", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "T9ShamanEnhancement_A", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "T9ShamanRestoration_A", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "T9Warlock_A", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
{ 28, "T9WarriorFury_A", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Fury"]};
{ 29, "T9WarriorProtection_A", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Protection"]};
Back = "SETMENU";
};
AtlasLoot_Data["T10SET"] = {
{ 2, "T10DeathKnightDPS", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["DPS"]};
{ 3, "T10DeathKnightTank", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], "=q5="..AL["Tanking"]};
{ 5, "T10DruidBalance", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
{ 6, "T10DruidFeral", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
{ 7, "T10DruidRestoration", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
{ 9, "T10Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
{ 11, "T10Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
{ 13, "T10PaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
{ 14, "T10PaladinProtection", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Protection"]};
{ 15, "T10PaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
{ 17, "T10PriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
{ 18, "T10PriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
{ 20, "T10Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
{ 22, "T10ShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
{ 23, "T10ShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
{ 24, "T10ShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
{ 26, "T10Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
{ 28, "T10WarriorFury", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Fury"]};
{ 29, "T10WarriorProtection", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], "=q5="..AL["Protection"]};
Back = "SETMENU";
};
+77
View File
@@ -0,0 +1,77 @@
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
AtlasLoot_Data["WORLDEVENTMENU"] = {
{ 1, "ARGENTMENU", "Ability_Paladin_ArtofWar", "=ds="..AL["Argent Tournament"], "=q5="..BabbleZone["Icecrown"]};
{ 3, "Brewfest1", "INV_Cask_04", "=ds="..AL["Brewfest"], "=q5="..AL["Various Locations"]};
{ 4, "DayoftheDead", "INV_Misc_Bone_HumanSkull_02", "=ds="..AL["Day of the Dead"], "=q5="..AL["Various Locations"]};
{ 5, "Halloween1", "INV_Misc_Bag_28_Halloween", "=ds="..AL["Hallow's End"], "=q5="..AL["Various Locations"]};
{ 6, "Valentineday", "INV_ValentinesBoxOfChocolates02", "=ds="..AL["Love is in the Air"], "=q5="..AL["Various Locations"]};
{ 7, "MidsummerFestival", "INV_SummerFest_FireFlower", "=ds="..AL["Midsummer Fire Festival"], "=q5="..AL["Various Locations"]};
{ 8, "PilgrimsBounty_H", "inv_helmet_65", "=ds="..AL["Pilgrim's Bounty"], "=q5="..AL["Various Locations"]};
{ 10, "BashirLanding", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Skyguard Raid"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
{ 11, "GurubashiArena", "INV_Box_02", "=ds="..AL["Gurubashi Arena Booty Run"], "=q5="..BabbleZone["Stranglethorn Vale"]};
{ 12, "Shartuul", "INV_Misc_Rune_04", "=ds="..AL["Shartuul"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
{ 14, "ABYSSALMENU", "INV_Staff_13", "=ds="..AL["Abyssal Council"], "=q5="..BabbleZone["Silithus"]};
{ 15, "SKETTISMENU", "Spell_Nature_NaturesWrath", "=ds="..AL["Skettis"], "=q5="..BabbleZone["Terokkar Forest"]};
{ 16, "DARKMOONMENU", "INV_Misc_Ticket_Tarot_Madness", "=ds="..BabbleFaction["Darkmoon Faire"], "=q5="..AL["Various Locations"]};
{ 18, "ChildrensWeek", "Ability_Hunter_BeastCall", "=ds="..AL["Children's Week"], "=q5="..AL["Various Locations"]};
{ 19, "Winterviel1", "INV_Holiday_Christmas_Present_01", "=ds="..AL["Feast of Winter Veil"], "=q5="..AL["Various Locations"]};
{ 20, "HarvestFestival", "INV_Misc_Food_33", "=ds="..AL["Harvest Festival"], "=q5="..AL["Various Locations"]};
{ 21, "LunarFestival1", "INV_Misc_ElvenCoins", "=ds="..AL["Lunar Festival"], "=q5="..AL["Various Locations"]};
{ 22, "Noblegarden", "INV_Egg_03", "=ds="..AL["Noblegarden"], "=q5="..AL["Various Locations"]};
{ 25, "ElementalInvasion", "INV_DataCrystal03", "=ds="..AL["Elemental Invasion"], "=q5="..AL["Various Locations"]};
{ 26, "ScourgeInvasionEvent1", "INV_Jewelry_Talisman_13", "=ds="..AL["Scourge Invasion"], "=q5="..AL["Various Locations"]};
{ 27, "FishingExtravaganza", "INV_Fishingpole_02", "=ds="..AL["Stranglethorn Fishing Extravaganza"], "=q5="..BabbleZone["Stranglethorn Vale"]};
{ 29, "ETHEREUMMENU", "INV_Misc_PunchCards_Prismatic", "=ds="..AL["Ethereum Prison"], ""};
};
AtlasLoot_Data["ARGENTMENU"] = {
{ 2, "ArgentTournament1", "inv_scroll_11", "=ds="..BabbleInventory["Miscellaneous"], ""};
{ 3, "ArgentTournament3", "inv_boots_plate_09", "=ds="..BabbleInventory["Armor"], ""};
{ 4, "ArgentTournament5", "achievement_reputation_argentchampion", "=ds="..AL["Vanity Pets"], ""};
{ 5, "ArgentTournament8", "inv_jewelry_talisman_01", "=ds="..AL["Heirloom"], ""};
{ 17, "ArgentTournament2", "inv_misc_tournaments_tabard_human", "=ds="..AL["Tabards"].." / "..AL["Banner"], ""};
{ 18, "ArgentTournament4", "inv_mace_29", "=ds="..AL["Weapons"], ""};
{ 19, "ArgentTournament6", "ability_mount_charger", "=ds="..AL["Mounts"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["DARKMOONMENU"] = {
{ 2, "Darkmoon1", "INV_Misc_Ticket_Darkmoon_01", "=ds="..AL["Darkmoon Faire Rewards"], ""};
{ 3, "Darkmoon3", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Original and BC Trinkets"], ""};
{ 17, "Darkmoon2", "INV_Misc_Ticket_Tarot_Furies", "=ds="..AL["Low Level Decks"], ""};
{ 18, "Darkmoon4", "INV_Inscription_TarotGreatness", "=ds="..AL["WotLK Trinkets"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["ABYSSALMENU"] = {
{ 2, "Templars", "INV_Jewelry_Talisman_05", "=ds="..AL["Abyssal Council"].." - "..AL["Templars"], ""};
{ 3, "HighCouncil", "INV_Staff_13", "=ds="..AL["Abyssal Council"].." - "..AL["High Council"], ""};
{ 17, "Dukes", "INV_Jewelry_Ring_36", "=ds="..AL["Abyssal Council"].." - "..AL["Dukes"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["ETHEREUMMENU"] = {
{ 2, "ArmbreakerHuffaz", "INV_Jewelry_Ring_59", "=ds="..AL["Armbreaker Huffaz"], ""};
{ 3, "Forgosh", "INV_Boots_05", "=ds="..AL["Forgosh"], ""};
{ 4, "MalevustheMad", "INV_Boots_Chain_04", "=ds="..AL["Malevus the Mad"], ""};
{ 5, "WrathbringerLaztarash", "INV_Misc_Orb_01", "=ds="..AL["Wrathbringer Laz-tarash"], ""};
{ 17, "FelTinkererZortan", "INV_Boots_Chain_08", "=ds="..AL["Fel Tinkerer Zortan"], ""};
{ 18, "Gulbor", "INV_Jewelry_Necklace_29Naxxramas", "=ds="..AL["Gul'bor"], ""};
{ 19, "PorfustheGemGorger", "INV_Boots_Cloth_01", "=ds="..AL["Porfus the Gem Gorger"], ""};
{ 20, "BashirStasisChambers", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Stasis Chambers"], ""};
Back = "WORLDEVENTMENU";
};
AtlasLoot_Data["SKETTISMENU"] = {
{ 2, "DarkscreecherAkkarai", "INV_Misc_Rune_07", "=ds="..AL["Darkscreecher Akkarai"], ""};
{ 3, "GezzaraktheHuntress", "INV_Misc_Rune_07", "=ds="..AL["Gezzarak the Huntress"], ""};
{ 4, "Terokk", "INV_Misc_Rune_07", "=ds="..AL["Terokk"], ""};
{ 17, "Karrog", "INV_Misc_Rune_07", "=ds="..AL["Karrog"], ""};
{ 18, "VakkiztheWindrager", "INV_Misc_Rune_07", "=ds="..AL["Vakkiz the Windrager"], ""};
Back = "WORLDEVENTMENU";
};
@@ -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/">
<Script file="loottables.en.lua"/>
<!--<Script file="loottables.de.lua"/>
<Script file="loottables.fr.lua"/>
<Script file="loottables.tw.lua"/>
<Script file="loottables.cn.lua"/>
<Script file="loottables.kr.lua"/>
<Script file="loottables.es.lua"/>-->
</Ui>
+102
View File
@@ -0,0 +1,102 @@
-- [[
-- Last Updated: 02/28/2008
-- Initial translation by: 560889223
-- Maintained by: Diablohu
-- http://www.dreamgen.cn
-- ]]
if (GetLocale() == "zhCN") then
-----------------
--- Instances ---
-----------------
--Keys
AtlasLoot_TableNames["OldKeys"][1] = "钥匙";
AtlasLoot_TableNames["BCKeys"][1] = "钥匙";
--Blackrock Depths
AtlasLoot_TableNames["BRDArena"][1] = "竞技场";
AtlasLoot_TableNames["BRDForgewright"][1] = "弗兰克罗恩·铸铁的雕像";
AtlasLoot_TableNames["BRDGuzzler"][1] = "黑铁酒吧";
AtlasLoot_TableNames["BRDTomb"][1] = "召唤者之墓";
AtlasLoot_TableNames["BRDBSPlans"][1] = "锻造设计图 (黑石深渊)";
--The Black Temple
AtlasLoot_TableNames["BTEssencofSouls"][1] = "灵魂之匣";
AtlasLoot_TableNames["BTPatterns"][1] = "掉落图纸 (黑暗神殿)";
--Blackwing Lair
AtlasLoot_TableNames["BWLDraconicForDummies"][1] = "龙语傻瓜教程:第七卷";
--Dire Maul East
AtlasLoot_TableNames["DMBooks"][1] = "厄运之槌书籍";
--HC: Shattered Halls
AtlasLoot_TableNames["HCHallsExecutioner"][1] = "碎手斩杀者";
--Karazhan
AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "焦骨碎块 (任务物品)";
AtlasLoot_TableNames["KaraNamed"][1] = "仆人区动物首领";
AtlasLoot_TableNames["KaraKeannaLog"][1] = "金娜的日记 (任务物品)";
AtlasLoot_TableNames["KaraOperaEvent"][1] = "歌剧";
--Molten Core
AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "首领随机掉落 (熔火之心)";
--The Ruins of Ahn'Qiraj
AtlasLoot_TableNames["AQ20Trash"][1] = "普通怪物 (安其拉废墟)";
AtlasLoot_TableNames["AQ20ClassBooks"][1] = "安其拉职业书籍";
AtlasLoot_TableNames["AQEnchants"][1] = "安其拉掉落附魔公式";
--Stratholme
AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "邮箱钥匙";
AtlasLoot_TableNames["STRATAtiesh"][1] = "埃提耶什 <萨格拉斯之手>";
AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "设计图:平静";
AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "设计图:腐蚀";
--Sunken Temple
AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "哈卡的后代";
AtlasLoot_TableNames["STTrollMinibosses"][1] = "巨魔小首领";
--Sunwell Plateau
AtlasLoot_TableNames["SPPatterns"][1] = "掉落图纸 (太阳之井高地)";
--Temple of Ahn'Qiraj
AtlasLoot_TableNames["AQ40Trash1"][1] = "普通怪物 (安其拉神殿)";
AtlasLoot_TableNames["AQ40Trash2"][1] = "普通怪物 (安其拉神殿)";
AtlasLoot_TableNames["AQOpening"][1] = "安琪拉之门任务奖励";
--TK: The Eye
AtlasLoot_TableNames["TKEyeLegendaries"][1] = "凯尔萨斯一役使用到的传奇物品";
--Uldaman
AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "雷乌纳石板";
AtlasLoot_TableNames["UldTabletofWill"][1] = "意志石板";
AtlasLoot_TableNames["UldShadowforgeCache"][1] = "暗影熔炉地窖";
--Zul'Aman
AtlasLoot_TableNames["ZATimedChest"][1] = "限时任务奖励";
--Zul'Gurub
AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "混浊的水";
AtlasLoot_TableNames["ZGShared"][1] = "祖尔格拉布祭司首领共享掉落";
AtlasLoot_TableNames["ZGEnchants"][1] = "祖尔格拉布职业附魔";
------------------------
--- Misc Collections ---
------------------------
AtlasLoot_TableNames["BlizzardCollectables1"][1] = "暴雪收藏表";
AtlasLoot_TableNames["RareMounts1"][1] = "稀有坐骑 - 经典旧世";
AtlasLoot_TableNames["RareMounts2"][1] = "稀有坐骑 - 燃烧的远征";
--------------
--- Events ---
--------------
--Abyssal Council
AtlasLoot_TableNames["Templars"][1] = "深渊议会 - 圣殿骑士";
AtlasLoot_TableNames["Dukes"][1] = "深渊议会 - 公爵";
AtlasLoot_TableNames["HighCouncil"][1] = "深渊议会 - 上层议会";
--Seasonal
AtlasLoot_TableNames["LordAhune"][1] = "冰霜之王埃霍恩";
AtlasLoot_TableNames["Winterviel2"][1] = "冬幕节";
--Skettis
AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "鸦爪祭司伊沙尔";
AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "哈吉克的包裹";
--------------------
--- Rep Factions ---
--------------------
--Argent Dawn
AtlasLoot_TableNames["Argent1"][1] = "银色黎明: 交换的奖励";
--Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
AtlasLoot_TableNames["ShattrathFlasks1"][1] = "沙塔斯合剂";
end
+105
View File
@@ -0,0 +1,105 @@
if (GetLocale() == "deDE") then
-----------------
--- Instanzen ---
-----------------
--Keys
AtlasLoot_TableNames["OldKeys"][1] = "Schlüssel";
AtlasLoot_TableNames["BCKeys"][1] = "Schlüssel";
--Der Schwarzfels
AtlasLoot_TableNames["BRMScarshieldQuartermaster"][1] = "Scarshield Quartermaster";
--Schwarzfelstiefen
AtlasLoot_TableNames["BRDArena"][1] = "Ring des Gesetzes";
AtlasLoot_TableNames["BRDForgewright"][1] = "Statue von Franclorn Schmiedevater";
AtlasLoot_TableNames["BRDGuzzler"][1] = "Der grimmige Säufer";
AtlasLoot_TableNames["BRDTomb"][1] = "Grabmal der Boten";
AtlasLoot_TableNames["BRDBSPlans"][1] = "Schmiedekunst Pläne";
--Der schwarze Tempel
AtlasLoot_TableNames["BTEssencofSouls"][1] = "Reliquiar der Verirrten";
AtlasLoot_TableNames["BTPatterns"][1] = "Muster/Pläne (Der schwarze Tempel)";
--Duesterbruch (Ost)
AtlasLoot_TableNames["DMBooks"][1] = "Düsterbruch Bücher";
--Duesterbruch (Nord)
AtlasLoot_TableNames["DMNTRIBUTERUN"][1] = "Tribut Run";
--Duesterbruch (West)
AtlasLoot_TableNames["DMWShendralarProvisioner"][1] = "Versorger der Shen'dralar";
--HZ: Die zerschmetterten Hallen
AtlasLoot_TableNames["HCHallsExecutioner"][1] = "Shattered Hand Executioner";
--Karazhan
AtlasLoot_TableNames["KaraNamed"][1] = "Kellerbosse";
AtlasLoot_TableNames["KaraOperaEvent"][1] = "Theater-Event";
--Maraudon
AtlasLoot_TableNames["MaraNamelesProphet"][1] = "The Nameles Prophet";
--Geschmolzener Kern
AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "Zufälliger Boss Loot";
--Ruinen von Ahn'Qiraj
AtlasLoot_TableNames["AQ20ClassBooks"][1] = "AQ Klassenbücher";
AtlasLoot_TableNames["AQEnchants"][1] = "AQ Verzauberungen";
--Stratholme
AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "Briefkastenschlüssel";
AtlasLoot_TableNames["STRATAtiesh"][1] = "Atiesh <Hand von Sargeras>";
AtlasLoot_TableNames["STRATMalorsStrongbox"][1] = "Malors Geldkassette";
AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "Plans: Serenity";
AtlasLoot_TableNames["STRATSothosJarien"][1] = "Sothos und Jarien";
AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "Plans: Corruption";
--Der Tempel von Atal'Hakkar
AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "Brut von Hakkar";
AtlasLoot_TableNames["STTrollMinibosses"][1] = "Troll Minibosse";
--Tempel von Ahn'Qiraj
AtlasLoot_TableNames["AQOpening"][1] = "AQ Tor Öffnung";
--FdS: Auge des Sturms
AtlasLoot_TableNames["TKEyeLegendaries"][1] = "Legendäre Items für Kael'thas Kampf";
--Uldaman
AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "Schrifttafel von Ryun'eh";
AtlasLoot_TableNames["UldKromStoutarmChest"][1] = "Krom Starkarms Truhe";
AtlasLoot_TableNames["UldGarrettFamilyChest"][1] = "Familientruhe der Garretts";
AtlasLoot_TableNames["UldTabletofWill"][1] = "Schrifttafel des Willens";
AtlasLoot_TableNames["UldShadowforgeCache"][1] = "Shadowforge-Cache";
--Zul'Aman
AtlasLoot_TableNames["ZATimedChest"][1] = "Timed Reward Chest";
--Zul'Gurub
AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "Schlammiges aufgewühltes Gewässer";
AtlasLoot_TableNames["ZGShared"][1] = "Geteilter ZG Priester Boss Loot";
------------
--- Sets ---
------------
-------
-----------------------
--- Misc Collections ---
-----------------------
AtlasLoot_TableNames["BlizzardCollectables1"] = { "Blizzard Collectables", "AtlasLootSetItems" };
------------------
--- Welt Bosse ---
------------------
---------
--------------
--- Events ---
--------------
--Abyssischer Rat
AtlasLoot_TableNames["Templars"][1] = "Abyssischer Rat - Templer";
AtlasLoot_TableNames["Dukes"][1] = "Abyssischer Rat - Fürsten";
AtlasLoot_TableNames["HighCouncil"][1] = "Abyssischer Rat - Hoher Rat";
---------------------
--- Ruf Fraktionen ---
---------------------
--Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
AtlasLoot_TableNames["ShattrathFlasks1"] = { "Shattrath Fläschchen", "AtlasLootRepItems" };
-----------
--- PvP ---
-----------
end
File diff suppressed because it is too large Load Diff
+97
View File
@@ -0,0 +1,97 @@
--[[
loottables.es.lua --- Traduction ES por maqjav y StiviS
This file assigns a title to every loot table. The primary use of this table
is in the search function, as when iterating through the loot tables there is no
inherant title to the loot table, given the origins of the mod as an Atlas plugin.
]]
--Invoke libraries
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
if (GetLocale() == "esES") then
-----------------
--- Instances ---
-----------------
--Keys
AtlasLoot_TableNames["OldKeys"][1] = "Llaves";
AtlasLoot_TableNames["BCKeys"][1] = "Llaves";
--Blackrock Depths
AtlasLoot_TableNames["BRDArena"][1] = "Círculo de la Ley";
AtlasLoot_TableNames["BRDForgewright"][1] = "Monumento a Franclorn Forjador";
AtlasLoot_TableNames["BRDGuzzler"][1] = "Grim Guzzler"; --FALTA
AtlasLoot_TableNames["BRDTomb"][1] = "Tumba del Invocador";
AtlasLoot_TableNames["BRDBSPlans"][1] = "Diseño de herrería (PRN)";
--The Black Temple
AtlasLoot_TableNames["BTEssencofSouls"][1] = "Reliquaire des \195\162mes";
AtlasLoot_TableNames["BTPatterns"][1] = "Recetas/Planos del Templo Oscuro";
--Blackwing Lair
AtlasLoot_TableNames["BWLDraconicForDummies"][1] = "Dracónico para torpes Volumen VII";
--Dire Maul East
AtlasLoot_TableNames["DMBooks"][1] = "Libros (LM)";
--HC: Shattered Halls
AtlasLoot_TableNames["HCHallsExecutioner"][1] = "Ejecutor Mano Destrozada (Heróico)";
--Karazhan
AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "Trozo de hueso carbonizado (Objeto de misión)";
AtlasLoot_TableNames["KaraNamed"][1] = "Los jefes animales";
AtlasLoot_TableNames["KaraKeannaLog"][1] = "Apuntes de Keanna (Objeto de misión)";
AtlasLoot_TableNames["KaraOperaEvent"][1] = "Evento de la opera";
--Molten Core
AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "Botín de jefes aleatorios";
--The Ruins of Ahn'Qiraj
AtlasLoot_TableNames["AQ20Trash"][1] = "Bichos varios (AQ20)";
AtlasLoot_TableNames["AQ20ClassBooks"][1] = "Libros de clase de AQ";
AtlasLoot_TableNames["AQEnchants"][1] = "Encantamientos AQ";
--Shadowfang Keep
AtlasLoot_TableNames["BSFFelSteed"][1] = "Corcel vil";
--Stratholme
AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "Mensajero de Stratholme";
AtlasLoot_TableNames["STRATAtiesh"][1] = "Atiesh <Mano de Sargeras>";
AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "Diseño: Serenidad";
AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "Diseño: Corrupción";
--Sunken Temple
AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "Altar de Hakkar";
AtlasLoot_TableNames["STTrollMinibosses"][1] = "Mini jefes troll";
--Temple of Ahn'Qiraj
AtlasLoot_TableNames["AQ40Trash1"][1] = "Bichos varios (AQ40)";
AtlasLoot_TableNames["AQ40Trash2"][1] = "Bichos varios (AQ40)";
AtlasLoot_TableNames["AQOpening"][1] = "Apertura de AQ";
--TK: The Eye
AtlasLoot_TableNames["TKEyeLegendaries"][1] = "Objetos legendarios de la lucha contra Kael'thas";
--Uldaman
AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "Tablilla de Ryun'eh";
AtlasLoot_TableNames["UldTabletofWill"][1] = "Tablilla de Voluntad";
AtlasLoot_TableNames["UldShadowforgeCache"][1] = "Alijo de Forjatiniebla";
--Zul'Aman
AtlasLoot_TableNames["ZATimedChest"][1] = "Cofre con temporizador"; --Comprobar
--Zul'Gurub
AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "Aguas Fangosas";
AtlasLoot_TableNames["ZGShared"][1] = "Botín compartido por los sacerdotes (ZG)";
AtlasLoot_TableNames["ZGEnchants"][1] = "Encantamientos (ZG)";
------------------------
--- Misc Collections ---
------------------------
AtlasLoot_TableNames["BlizzardCollectables1"][1] = "Colecciones Blizzard";
AtlasLoot_TableNames["RareMounts1"][1] = "Monturas raras - WoW Original";
AtlasLoot_TableNames["RareMounts2"][1] = "Monturas raras - The Burning Crusade";
--------------
--- Events ---
--------------
--Abyssal Council
AtlasLoot_TableNames["Templars"][1] = "Consejo abisal - Templarios";
AtlasLoot_TableNames["Dukes"][1] = "Consejo abisal - Duques";
AtlasLoot_TableNames["HighCouncil"][1] = "Consejo abisal - Consejero mayor";
--Seasonal
AtlasLoot_TableNames["LordAhune"][1] = "Lord Ahune"; --FALTA
AtlasLoot_TableNames["Winterviel2"][1] = "Regalos del Festival de Invierno";
--Skettis
AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "Sacerdote de la garra Ishaal";
AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "Paquete de Hazzik";
end
+105
View File
@@ -0,0 +1,105 @@
--[[
loottables.fr.lua --- Traduction FR par KKram & Trasher
This file assigns a title to every loot table. The primary use of this table
is in the search function, as when iterating through the loot tables there is no
inherant title to the loot table, given the origins of the mod as an Atlas plugin.
]]
--Invoke libraries
local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
if (GetLocale() == "frFR") then
-----------------
--- Instances ---
-----------------
--Keys
AtlasLoot_TableNames["OldKeys"][1] = "Clés";
AtlasLoot_TableNames["BCKeys"][1] = "Clés";
--Blackrock Depths
AtlasLoot_TableNames["BRDArena"][1] = "L'Arène";
AtlasLoot_TableNames["BRDForgewright"][1] = "Monument de Franclorn Le Forgebusier";
AtlasLoot_TableNames["BRDGuzzler"][1] = "Grim Guzzler";
AtlasLoot_TableNames["BRDTomb"][1] = "Le Tombeau des Sept";
AtlasLoot_TableNames["BRDBSPlans"][1] = "Plans du forgeron (BRD)";
--The Black Temple
AtlasLoot_TableNames["BTEssencofSouls"][1] = "Reliquaire des âmes";
AtlasLoot_TableNames["BTPatterns"][1] = "Patrons/Plans du Temple Noir";
--Blackwing Lair
AtlasLoot_TableNames["BWLDraconicForDummies"][1] = "Draconic for Dummies Chapter VII";
--Dire Maul East
AtlasLoot_TableNames["DMBooks"][1] = "Livres (DM)";
--HC: Shattered Halls
AtlasLoot_TableNames["HCHallsExecutioner"][1] = "Bourreau de la Main brisée";
--Karazhan
AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "Fragment d'os carbonisé (Objet de quête)";
AtlasLoot_TableNames["KaraNamed"][1] = "Les trois Bêtes";
AtlasLoot_TableNames["KaraKeannaLog"][1] = "Journal de Keanna (Objet de quête)";
AtlasLoot_TableNames["KaraOperaEvent"][1] = "Evénement: Opéra";
--Molten Core
AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "Butin aléatoire";
--The Ruins of Ahn'Qiraj
AtlasLoot_TableNames["AQ20Trash"][1] = "Trash Mobs (AQ20)";
AtlasLoot_TableNames["AQ20ClassBooks"][1] = "Livres de classe AQ";
AtlasLoot_TableNames["AQEnchants"][1] = "Enchantements AQ";
--Stratholme
AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "Messager de Stratholme";
AtlasLoot_TableNames["STRATAtiesh"][1] = "Atiesh <Main de Sargeras>"; -- à vérifier
AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "Plans: Sérénité";
AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "Plans: Corruption";
--Sunken Temple
AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "Rejeton d'Hakkar";
AtlasLoot_TableNames["STTrollMinibosses"][1] = "Miniboss Trolls";
--Temple of Ahn'Qiraj
AtlasLoot_TableNames["AQ40Trash1"][1] = "Trash Mobs (AQ40)";
AtlasLoot_TableNames["AQ40Trash2"][1] = "Trash Mobs (AQ40)";
AtlasLoot_TableNames["AQOpening"][1] = "Evénement d'ouverture AQ";
--TK: The Eye
AtlasLoot_TableNames["TKEyeLegendaries"][1] = "Objets légendaires pour le combat de Kael'thas";
--Uldaman
AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "Tablette de Ryun'eh";
AtlasLoot_TableNames["UldTabletofWill"][1] = "Tablette de volonté";
AtlasLoot_TableNames["UldShadowforgeCache"][1] = "Cachette d'Ombreforge";
--Zul'Aman
AtlasLoot_TableNames["ZATimedChest"][1] = "Coffre du parcours rapide";
--Zul'Gurub
AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "Eaux troubles";
AtlasLoot_TableNames["ZGShared"][1] = "Butin Partagé (ZG)";
AtlasLoot_TableNames["ZGEnchants"][1] = "ZG Enchants";
------------------------
--- Misc Collections ---
------------------------
AtlasLoot_TableNames["BlizzardCollectables1"][1] = "Blizzard Collections";
AtlasLoot_TableNames["RareMounts1"][1] = "Montures rares - Original WoW";
AtlasLoot_TableNames["RareMounts2"][1] = "Montures rares - The Burning Crusade";
--------------
--- Events ---
--------------
--Abyssal Council
AtlasLoot_TableNames["Templars"][1] = "Conseil abyssal - Templiers";
AtlasLoot_TableNames["Dukes"][1] = "Conseil abyssal - Ducs";
AtlasLoot_TableNames["HighCouncil"][1] = "Conseil abyssal - Haut Conseil";
--Seasonal
AtlasLoot_TableNames["LordAhune"][1] = "Lord Ahune";
AtlasLoot_TableNames["Winterviel2"][1] = "Cadeaux de La fête du Voile d'hiver";
--Skettis
AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "Talonpriest Ishaal";
AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "Hazzik's Package";
--------------------
--- Rep Factions ---
--------------------
--Argent Dawn
AtlasLoot_TableNames["Argent1"][1] = BabbleFaction["Argent Dawn"]..": Insigne Main-Aube";
--Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
AtlasLoot_TableNames["ShattrathFlasks1"][1] = "Shattrath Flasks";
end
+202
View File
@@ -0,0 +1,202 @@
--[[
-- Translated and maintained by Arith Hsu (arithmandarjp at yahoo.co.jp)
-- Last Updated: Mar. 25, 2008
--]]
if (GetLocale() == "zhTW") then
-----------------------
--- WotLK Instances ---
-----------------------
-- Keys
AtlasLoot_TableNames["WrathKeys"][1] = "鑰匙";
-- Utgarde Keep
-- The Nexus
-- Azjol-Nerub
-- Ahn'kahet: The Old Kingdom
-- Drak'Tharon Keep
-- The Violet Hold
-- Gundrak
-- Halls of Stone
-- Halls of Lightning
-- Caverns of Time: Old Stratholme
-- Utgarde Pinnacle
-- The Oculus
-- Vault of Archavon
-- Naxxramas Level 80
-- Obsidian Sanctum
-- The Eye of Eternity
-- Ulduar
-- Trial of the Champion
-- Trial of the Crusader
-- Trial of the Grand Crusader
-- Onyxia (Level 80)
-- The Forge of Souls
-- Pit of Saron
-- Halls of Reflection
-- Icecrown Citadel
-- Icecrown Citadel HEROIC
-- Ruby Sanctum
AtlasLoot_TableNames["Halion"][1] = "海萊恩";
AtlasLoot_TableNames["HalionHEROIC"][1] = "海萊恩";
AtlasLoot_TableNames["Halion25Man"][1] = "海萊恩";
AtlasLoot_TableNames["Halion25ManHEROIC"][1] = "海萊恩";
--------------------
--- BC Instances ---
--------------------
-- Keys
AtlasLoot_TableNames["BCKeys"][1] = "鑰匙";
-- Auch: Auchenai Crypts
-- Auch: Mana-Tombs
-- Auch: Sethekk Halls
-- Auch: Shadow Labyrinth
--The Black Temple
AtlasLoot_TableNames["BTEssencofSouls"][1] = "靈魂精華";
AtlasLoot_TableNames["BTPatterns"][1] = "黑暗神廟卷軸";
-- CFR: Serpentshrine Cavern
-- CFR: Slave Pens
-- CFR: The Steamvault
-- CFR: The Underbog
-- CoT: Old Hillsbrad Foothills
-- CoT: Black Morass
-- CoT: Hyjal Summit
-- Gruul's Lair
-- HC: Blood Furnace
-- HC: Magtheridon's Lair
-- HC: Ramparts
-- HC: Shattered Halls
-- Karazhan
AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "燒焦的白骨碎片 (任務物品)";
AtlasLoot_TableNames["KaraNamed"][1] = "僕人居所動物王";
AtlasLoot_TableNames["KaraKeannaLog"][1] = "琪安娜的日誌 (任務物品)";
AtlasLoot_TableNames["KaraOperaEvent"][1] = "歌劇事件";
-- Sunwell Isle: Magister's Terrace
-- Sunwell Isle: Sunwell Plateau
AtlasLoot_TableNames["SPPatterns"][1] = "太陽之井高地卷軸";
-- TK: The Arcatraz
-- TK: The Botanica
--TK: The Eye
AtlasLoot_TableNames["TKEyeLegendaries"][1] = "凱爾薩斯·逐日者史詩物品";
-- TK: The Mechanar
--Zul'Aman
AtlasLoot_TableNames["ZATimedChest"][1] = "限時任務獎勵寶箱";
-------------------------
--- Classic Instances ---
-------------------------
-- Keys
AtlasLoot_TableNames["OldKeys"][1] = "鑰匙";
-- Blackrock Depths
AtlasLoot_TableNames["BRDArena"][1] = "競技場";
AtlasLoot_TableNames["BRDForgewright"][1] = "弗蘭克羅恩·鑄鐵的雕像";
AtlasLoot_TableNames["BRDGuzzler"][1] = "黑鐵酒吧";
AtlasLoot_TableNames["BRDTomb"][1] = "召喚者之墓";
AtlasLoot_TableNames["BRDBSPlans"][1] = "黑鐵鍛造圖樣 (黑石深淵)";
-- Lower Blackrock Spire
-- Upper Blackrock Spire
-- Blackwing Lair
-- The Deadmines
-- Dire Maul East
AtlasLoot_TableNames["DMBooks"][1] = "厄運書籍";
-- Dire Maul North
-- Dire Maul West
-- Gnomeregan
-- Maraudon
-- Molten Core
AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "首領隨機掉落";
-- Ragefire Chasm
-- Razorfen Downs
-- Razorfen Kraul
-- The Ruins of Ahn'Qiraj
AtlasLoot_TableNames["AQ20ClassBooks"][1] = "AQ 職業書籍";
AtlasLoot_TableNames["AQEnchants"][1] = "AQ 公式";
-- Scarlet Monestery
-- Scholomance
-- Shadowfang Keep
-- The Stockade
-- Stratholme
AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "郵箱鑰匙";
AtlasLoot_TableNames["STRATAtiesh"][1] = "阿泰絲 <薩格拉斯之手>";
AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "設計圖:平靜";
AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "設計圖:腐蝕";
-- Sunken Temple
AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "哈卡的後代";
AtlasLoot_TableNames["STTrollMinibosses"][1] = "食人妖小首領";
-- Temple of Ahn'Qiraj
AtlasLoot_TableNames["AQOpening"][1] = "安其拉開門系列任務";
-- Uldaman
AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "雷烏納石板";
AtlasLoot_TableNames["UldTabletofWill"][1] = "意志石板";
AtlasLoot_TableNames["UldShadowforgeCache"][1] = "暗影熔爐地窖";
-- Wailing Caverns
-- Zul'Farrak
-- Zul'Gurub
AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "混濁的水";
AtlasLoot_TableNames["ZGShared"][1] = "ZG首領隨機掉落";
AtlasLoot_TableNames["ZGEnchants"][1] = "ZG 公式";
------------
--- Sets ---
------------
------------------------
--- Misc Collections ---
------------------------
--------------------
--- World Bosses ---
--------------------
AtlasLoot_TableNames["BlizzardCollectables1"][1] = "暴雪特殊收藏品";
AtlasLoot_TableNames["RareMounts1"][1] = "稀有坐騎 - 原魔獸世界";
AtlasLoot_TableNames["RareMounts2"][1] = "稀有坐騎 - 燃燒的遠征";
--------------
--- Events ---
--------------
--Abyssal Council
AtlasLoot_TableNames["Templars"][1] = "深淵議會 - 聖殿騎士";
AtlasLoot_TableNames["Dukes"][1] = "深淵議會 - 公爵";
AtlasLoot_TableNames["HighCouncil"][1] = "深淵議會 - 高階議會";
--Seasonal
AtlasLoot_TableNames["Winterviel2"][1] = "冬幕節禮物";
--Skettis
AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "魔爪祭司艾夏歐";
AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "海茲克的包裹";
------------------------
--- Classic Factions ---
------------------------
--Argent Dawn
AtlasLoot_TableNames["Argent1"][1] = "銀色黎明: 徽記兌換";
-------------------
--- BC Factions ---
-------------------
--Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
AtlasLoot_TableNames["ShattrathFlasks1"][1] = "撒塔斯藥劑";
----------------------
--- WotLK Factions ---
----------------------
--------------
--- Trades ---
--------------
-----------
--- PvP ---
-----------
-------------
--- Other ---
-------------
-- Menus, the entry does nothing, but makes the generalised loot table code less complex
-- If all else fails!
end
+27
View File
@@ -0,0 +1,27 @@
<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">
<!--@no-lib-strip@-->
<Script file="Libs\LibStub\LibStub.lua"/>
<Include file="Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml"/>
<Include file="Libs\LibBabble-Boss-3.0\lib.xml"/>
<Include file="Libs\LibBabble-Faction-3.0\lib.xml"/>
<Include file="Libs\LibBabble-Inventory-3.0\lib.xml"/>
<Include file="Libs\LibBabble-Zone-3.0\lib.xml"/>
<Include file="Libs\LibAboutPanel\lib.xml"/>
<Include file="Libs\AceAddon-3.0\AceAddon-3.0.xml"/>
<Include file="Libs\AceDB-3.0\AceDB-3.0.xml"/>
<Include file="Libs\AceLocale-3.0\AceLocale-3.0.xml"/>
<Include file="Libs\AceSerializer-3.0\AceSerializer-3.0.xml"/>
<Include file="Libs\AceComm-3.0\AceComm-3.0.xml"/>
<Include file="Libs\DewdropLib\embeds.xml"/>
<Script file="Libs\DewdropLib\Dewdrop-2.0\Dewdrop-2.0.lua"/>
<!--@end-no-lib-strip@-->
<Script file="Libs\LibDataBroker-1.1\LibDataBroker-1.1.lua"/>
</Ui>
+17
View File
@@ -0,0 +1,17 @@
<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">
<!--@debug@
<Script file="Modules\BurningCrusade\burningcrusade.lua"/>
<Script file="Modules\BurningCrusade\localization.lua"/>
<Script file="Modules\Crafting\crafting.lua"/>
<Script file="Modules\Crafting\localization.lua"/>
<Script file="Modules\OriginalWoW\originalwow.lua"/>
<Script file="Modules\OriginalWoW\localization.lua"/>
<Script file="Modules\WorldEvents\worldevents.lua"/>
<Script file="Modules\WorldEvents\localization.lua"/>
<Script file="Modules\WrathoftheLichKing\wrathofthelichking.lua"/>
<Script file="Modules\WrathoftheLichKing\localization.lua"/>
@end-debug@-->
</Ui>