├── AtlasLoot
├── Images
│ ├── edit.blp
│ ├── gold.tga
│ ├── Horde.tga
│ ├── bronze.tga
│ ├── delete.blp
│ ├── share.blp
│ ├── silver.tga
│ ├── Alliance.tga
│ ├── zamok_l.blp
│ ├── zamok_l1.blp
│ ├── zamok_ul.blp
│ ├── zamok_ul1.blp
│ ├── logo-green.png
│ ├── AtlasLootMinimap.blp
│ ├── LockButton-Locked-Up.blp
│ ├── LockButton-Locked-Down.blp
│ ├── LockButton-Unlocked-Down.blp
│ └── LockButton-Unlocked-Up.blp
├── Atlasconfing.txt
├── Libs
│ ├── AceDB-3.0
│ │ └── AceDB-3.0.xml
│ ├── LibAboutPanel
│ │ ├── lib.xml
│ │ ├── libs
│ │ │ ├── CallbackHandler-1.0
│ │ │ │ ├── CallbackHandler-1.0.xml
│ │ │ │ └── CallbackHandler-1.0.lua
│ │ │ └── LibStub
│ │ │ │ ├── LibStub.toc
│ │ │ │ └── LibStub.lua
│ │ ├── LibAboutPanel.toc
│ │ └── LibAboutPanel.lua
│ ├── AceAddon-3.0
│ │ └── AceAddon-3.0.xml
│ ├── AceLocale-3.0
│ │ ├── AceLocale-3.0.xml
│ │ └── AceLocale-3.0.lua
│ ├── DewdropLib
│ │ ├── embeds.xml
│ │ ├── AceLibrary
│ │ │ └── AceLibrary.toc
│ │ ├── DewdropLib.toc
│ │ └── LICENSE.txt
│ ├── AceSerializer-3.0
│ │ ├── AceSerializer-3.0.xml
│ │ └── AceSerializer-3.0.lua
│ ├── CallbackHandler-1.0
│ │ ├── CallbackHandler-1.0.xml
│ │ └── CallbackHandler-1.0.lua
│ ├── AceComm-3.0
│ │ └── AceComm-3.0.xml
│ ├── LibBabble-Zone-3.0
│ │ ├── lib.xml
│ │ ├── LibBabble-Zone-3.0.toc
│ │ ├── LibStub
│ │ │ └── LibStub.lua
│ │ └── LibBabble-3.0.lua
│ ├── LibBabble-Boss-3.0
│ │ ├── lib.xml
│ │ ├── LibBabble-Boss-3.0.toc
│ │ ├── LibStub
│ │ │ └── LibStub.lua
│ │ └── LibBabble-3.0.lua
│ ├── LibBabble-Faction-3.0
│ │ ├── lib.xml
│ │ ├── LibBabble-Faction-3.0.toc
│ │ ├── LibStub
│ │ │ └── LibStub.lua
│ │ └── LibBabble-3.0.lua
│ ├── LibBabble-Inventory-3.0
│ │ ├── lib.xml
│ │ ├── LibBabble-Inventory-3.0.toc
│ │ ├── LibStub
│ │ │ └── LibStub.lua
│ │ └── LibBabble-3.0.lua
│ ├── AceLibrary
│ │ └── AceLibrary.toc
│ ├── LibStub
│ │ ├── LibStub.toc
│ │ └── LibStub.lua
│ └── LibDataBroker-1.1
│ │ └── LibDataBroker-1.1.lua
├── AtlasLayout
│ ├── AtlasLayout.xml
│ ├── worldbosses.en.lua
│ └── Battlegrounds.en.lua
├── Add_Ons
│ ├── Addons.xml
│ ├── dkp.lua
│ ├── classpriority.lua
│ ├── AtlasLootUpdate.lua
│ └── AtlasLootFrameLock.lua
├── Menus
│ ├── Menus.xml
│ ├── DailyMenus.lua
│ ├── ZnakiMenus.lua
│ ├── WorldEventMenus.lua
│ └── PvPMenus.lua
├── TableRegister
│ ├── TableRegister.xml
│ ├── loottables.cn.lua
│ ├── loottables.de.lua
│ ├── loottables.es.lua
│ ├── loottables.fr.lua
│ └── loottables.tw.lua
├── Locales
│ ├── Locales.xml
│ └── LibBabble.lua
├── modules.xml
├── embeds.xml
├── AtlasLoot.toc
├── Core
│ ├── AtlasIntegration.lua
│ └── Launchers.lua
└── about.lua
├── AtlasLoot_Crafting
├── crafting.lua
└── AtlasLoot_Crafting.toc
├── README.md
├── AtlasLootFu
├── Libs
│ ├── AceLibrary
│ │ └── AceLibrary.toc
│ ├── Tablet-2.0
│ │ └── AceLibrary
│ │ │ └── AceLibrary.toc
│ ├── AceOO-2.0
│ │ └── AceOO-2.0.toc
│ ├── AceAddon-2.0
│ │ └── AceAddon-2.0.toc
│ ├── AceDB-2.0
│ │ └── AceDB-2.0.toc
│ └── AceEvent-2.0
│ │ └── AceEvent-2.0.toc
├── embeds.xml
├── AtlasLootFu.toc
├── Locales.lua
└── AtlasLootFu.lua
├── AtlasLoot_PVP
└── AtlasLoot_PVP.toc
├── AtlasLoot_Sirus
└── AtlasLoot_Sirus.toc
├── AtlasLoot_WorldEvents
└── AtlasLoot_WorldEvents.toc
├── AtlasLoot_WrathoftheLichKing
└── AtlasLoot_WrathoftheLichKing.toc
├── AtlasLoot_OriginalWoW
└── AtlasLoot_OriginalWoW.toc
└── AtlasLoot_BurningCrusade
└── AtlasLoot_BurningCrusade.toc
/AtlasLoot/Images/edit.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/edit.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/gold.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/gold.tga
--------------------------------------------------------------------------------
/AtlasLoot/Atlasconfing.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Atlasconfing.txt
--------------------------------------------------------------------------------
/AtlasLoot/Images/Horde.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/Horde.tga
--------------------------------------------------------------------------------
/AtlasLoot/Images/bronze.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/bronze.tga
--------------------------------------------------------------------------------
/AtlasLoot/Images/delete.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/delete.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/share.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/share.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/silver.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/silver.tga
--------------------------------------------------------------------------------
/AtlasLoot/Images/Alliance.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/Alliance.tga
--------------------------------------------------------------------------------
/AtlasLoot/Images/zamok_l.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/zamok_l.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/zamok_l1.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/zamok_l1.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/zamok_ul.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/zamok_ul.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/zamok_ul1.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/zamok_ul1.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/logo-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/logo-green.png
--------------------------------------------------------------------------------
/AtlasLoot_Crafting/crafting.lua:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot_Crafting/crafting.lua
--------------------------------------------------------------------------------
/AtlasLoot/Images/AtlasLootMinimap.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/AtlasLootMinimap.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/LockButton-Locked-Up.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/LockButton-Locked-Up.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/LockButton-Locked-Down.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/LockButton-Locked-Down.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/LockButton-Unlocked-Down.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/LockButton-Unlocked-Down.blp
--------------------------------------------------------------------------------
/AtlasLoot/Images/LockButton-Unlocked-Up.blp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mr-Dan/AtlasLoot-Sirus/HEAD/AtlasLoot/Images/LockButton-Unlocked-Up.blp
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceDB-3.0/AceDB-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/lib.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceAddon-3.0/AceAddon-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceLocale-3.0/AceLocale-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/DewdropLib/embeds.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceSerializer-3.0/AceSerializer-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceComm-3.0/AceComm-3.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/libs/CallbackHandler-1.0/CallbackHandler-1.0.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Zone-3.0/lib.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Boss-3.0/lib.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Faction-3.0/lib.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Inventory-3.0/lib.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AtlasLoot/AtlasLayout/AtlasLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AtlasLoot/Add_Ons/Addons.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://discord.gg/7cjU9xvcQY)
2 | # AtlasLoot-Sirus
3 | Аддон для просмотра всех игровых предметов, которые выпадают с противников. В AtlasLoot так же входят PVP предметы любого сезона, а так же маунты, рецепты, предметы за репутацию у фракций
4 |
5 | Тема на форуме (https://forum.sirus.su/threads/atlasloot-sirus.86804/)
6 |
--------------------------------------------------------------------------------
/AtlasLoot/Menus/Menus.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceLibrary/AceLibrary.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceLibrary
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## X-Website: http://www.wowace.com
11 | ## X-Category: Library
12 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
13 |
14 | AceLibrary.lua
15 |
16 |
--------------------------------------------------------------------------------
/AtlasLootFu/Libs/AceLibrary/AceLibrary.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceLibrary
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## X-Website: http://www.wowace.com
11 | ## X-Category: Library
12 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
13 |
14 | AceLibrary.lua
15 |
16 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibStub/LibStub.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20400
2 | ## Title: Lib: LibStub
3 | ## Notes: Universal Library Stub
4 | ## Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel
5 | ## X-Website: http://jira.wowace.com/browse/LS
6 | ## X-Category: Library
7 | ## X-License: Public Domain
8 | ## X-Curse-Packaged-Version: 1.0
9 | ## X-Curse-Project-Name: LibStub
10 | ## X-Curse-Project-ID: libstub
11 | ## X-Curse-Repository-ID: wow/libstub/mainline
12 |
13 | LibStub.lua
14 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/DewdropLib/AceLibrary/AceLibrary.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceLibrary
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## X-Website: http://www.wowace.com
11 | ## X-Category: Library
12 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
13 |
14 | AceLibrary.lua
15 |
16 |
--------------------------------------------------------------------------------
/AtlasLoot/TableRegister/TableRegister.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/AtlasLootFu/Libs/Tablet-2.0/AceLibrary/AceLibrary.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceLibrary
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## X-Website: http://www.wowace.com
11 | ## X-Category: Library
12 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
13 |
14 | AceLibrary.lua
15 |
16 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/libs/LibStub/LibStub.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20400
2 | ## Title: Lib: LibStub
3 | ## Notes: Universal Library Stub
4 | ## Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel
5 | ## X-Website: http://jira.wowace.com/browse/LS
6 | ## X-Category: Library
7 | ## X-License: Public Domain
8 | ## X-Curse-Packaged-Version: 1.0
9 | ## X-Curse-Project-Name: LibStub
10 | ## X-Curse-Project-ID: libstub
11 | ## X-Curse-Repository-ID: wow/libstub/mainline
12 |
13 | LibStub.lua
14 |
--------------------------------------------------------------------------------
/AtlasLootFu/Libs/AceOO-2.0/AceOO-2.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceOO-2.0
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## LoadOnDemand: 1
11 | ## X-Website: http://www.wowace.com
12 | ## X-Category: Library
13 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
14 | ## Dependencies: AceLibrary
15 |
16 | AceOO-2.0.lua
17 |
--------------------------------------------------------------------------------
/AtlasLootFu/Libs/AceAddon-2.0/AceAddon-2.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceAddon-2.0
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## LoadOnDemand: 1
11 | ## X-Website: http://www.wowace.com
12 | ## X-Category: Library
13 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
14 | ## Dependencies: AceLibrary, AceOO-2.0
15 |
16 | AceAddon-2.0.lua
17 |
18 |
--------------------------------------------------------------------------------
/AtlasLootFu/Libs/AceDB-2.0/AceDB-2.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceDB-2.0
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## LoadOnDemand: 1
11 | ## X-Website: http://www.wowace.com
12 | ## X-Category: Library
13 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
14 | ## Dependencies: AceLibrary, AceEvent-2.0, AceOO-2.0
15 |
16 | AceDB-2.0.lua
17 |
18 |
--------------------------------------------------------------------------------
/AtlasLootFu/Libs/AceEvent-2.0/AceEvent-2.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## X-Curse-Packaged-Version: r1101
3 | ## X-Curse-Project-Name: Ace2
4 | ## X-Curse-Project-ID: ace2
5 | ## X-Curse-Repository-ID: wow/ace2/mainline
6 |
7 | ## Title: Lib: AceEvent-2.0
8 | ## Notes: AddOn development framework
9 | ## Author: Ace Development Team
10 | ## LoadOnDemand: 1
11 | ## X-Website: http://www.wowace.com
12 | ## X-Category: Library
13 | ## X-License: LGPL v2.1 + MIT for AceOO-2.0
14 | ## Dependencies: AceLibrary, AceOO-2.0
15 |
16 | AceEvent-2.0.lua
17 |
18 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/DewdropLib/DewdropLib.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 20400
2 | ## LoadOnDemand: 1
3 | ## Title: Lib: Dewdrop-2.0
4 | ## Notes: A library to provide a clean dropdown menu interface.
5 | ## Author: ckknight
6 | ## eMail: ckknight@gmail.com
7 | ## X-Category: Library
8 | ## OptionalDeps: Ace2
9 | ## X-AceLibrary-Dewdrop-2.0: true
10 | ## X-License: LGPL v2.1
11 | ## X-Curse-Packaged-Version: r321
12 | ## X-Curse-Project-Name: DewdropLib
13 | ## X-Curse-Project-ID: dewdroplib
14 | ## X-Curse-Repository-ID: wow/dewdroplib/mainline
15 |
16 | embeds.xml
17 |
18 | Dewdrop-2.0\Dewdrop-2.0.lua
19 |
--------------------------------------------------------------------------------
/AtlasLootFu/embeds.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/AtlasLoot/Locales/Locales.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Inventory-3.0/LibBabble-Inventory-3.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## LoadOnDemand: 1
3 | ## Title: Lib: Babble-Inventory-3.0
4 | ## Notes: A library to help with localization of item types and subtypes.
5 | ## Notes-esES: Una libreria para ayudar con la traduccion de tipos y subtipos de objetos.
6 | ## Author: ckknight
7 | ## X-eMail: ckknight@gmail.com
8 | ## X-Category: Library
9 | ## X-License: MIT
10 | ## X-Curse-Packaged-Version: r101
11 | ## X-Curse-Project-Name: LibBabble-Inventory-3.0
12 | ## X-Curse-Project-ID: libbabble-inventory-3-0
13 | ## X-Curse-Repository-ID: wow/libbabble-inventory-3-0/mainline
14 |
15 | LibStub\LibStub.lua
16 | lib.xml
17 |
--------------------------------------------------------------------------------
/AtlasLoot/Add_Ons/dkp.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | dkp.lua
3 | This file can be used in your guild to indicate dkp cost on items.
4 | Just add an entry of the form:
5 | ItemXXXXX = "DKP Value";
6 | Where XXXXX is the itemID.
7 | The DKP cost will appear in the tooltip automatically.
8 | ]]
9 |
10 | AtlasLootDKPValues = {
11 | -----------------
12 | -- Molten Core --
13 | -----------------
14 | --Tier 1 Loot--
15 | --Arcanist Boots
16 | Item16800 = "";
17 | --Felheart Gloves
18 | Item16805 = "";
19 | --Cenarion Boots
20 | Item16829 = "";
21 | --Earthfury Boots
22 | Item16837 = "";
23 | --Gauntlets of Might
24 | Item16863 = "";
25 | --Lawbringer Boots
26 | Item16859 = "";
27 | };
28 |
29 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Zone-3.0/LibBabble-Zone-3.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## LoadOnDemand: 1
3 | ## Title: Lib: Babble-Zone-3.0
4 | ## Notes: A library to help with localization of Zones.
5 | ## Notes-deDE: BabbleLib ist eine Bibliothek, die bei der Lokalisierung helfen soll.
6 | ## Notes-frFR: Une bibliothèque d'aide à la localisation.
7 | ## Notes-esES: Una biblioteca para ayudar con las localizaciones.
8 | ## Author: ckknight
9 | ## X-eMail: ckknight@gmail.com
10 | ## X-Category: Library
11 | ## X-License: MIT
12 | ## X-Curse-Packaged-Version: r266
13 | ## X-Curse-Project-Name: LibBabble-Zone-3.0
14 | ## X-Curse-Project-ID: libbabble-zone-3-0
15 | ## X-Curse-Repository-ID: wow/libbabble-zone-3-0/mainline
16 |
17 | LibStub\LibStub.lua
18 | lib.xml
19 |
--------------------------------------------------------------------------------
/AtlasLoot/Locales/LibBabble.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | AtlasLoot_GetLocaleLibBabble(typ)
3 | Get english translations for non translated things. (Combines Locatet and English table)
4 | Only Useable with LibBabble
5 | ]]
6 | function AtlasLoot_GetLocaleLibBabble(typ)
7 | --local tab = LibStub(typ):GetBaseLookupTable()
8 | --local loctab = LibStub(typ):GetUnstrictLookupTable()
9 | --setmetatable(loctab, {
10 | -- __index = tab
11 | --})
12 |
13 | local rettab = {}
14 | local tab = LibStub(typ):GetBaseLookupTable()
15 | local loctab = LibStub(typ):GetUnstrictLookupTable()
16 | for k,v in pairs(loctab) do
17 | rettab[k] = v;
18 | end
19 | for k,v in pairs(tab) do
20 | if not rettab[k] then
21 | rettab[k] = v;
22 | end
23 | end
24 | return rettab
25 | end
--------------------------------------------------------------------------------
/AtlasLoot/Add_Ons/classpriority.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | classpriority.lua
3 | This file can be used in your guild to indicate class priority on items.
4 | Just add an entry of the form:
5 | ItemXXXXX = "Class";
6 | Where XXXXX is the itemID.
7 | The class will appear in the tooltip automatically.
8 | ]]
9 |
10 | AtlasLootClassPriority = {
11 | -----------------
12 | -- Molten Core --
13 | -----------------
14 | --Tier 1 Loot--
15 | --Arcanist Boots
16 | Item16800 = "";
17 | --Felheart Gloves
18 | Item16805 = "";
19 | --Cenarion Boots
20 | Item16829 = "";
21 | --Earthfury Boots
22 | Item16837 = "";
23 | --Gauntlets of Might
24 | Item16863 = "";
25 | --Lawbringer Boots
26 | Item16859 = "";
27 | };
28 |
29 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/DewdropLib/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (C) 2006-2007 ckknight
2 |
3 | This library is free software; you can redistribute it and/or
4 | modify it under the terms of the GNU Lesser General Public
5 | License as published by the Free Software Foundation; either
6 | version 2.1 of the License, or (at your option) any later version.
7 |
8 | This library is distributed in the hope that it will be useful,
9 | but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 | Lesser General Public License for more details.
12 |
13 | You should have received a copy of the GNU Lesser General Public
14 | License along with this library; if not, write to the Free Software
15 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Boss-3.0/LibBabble-Boss-3.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## LoadOnDemand: 1
3 | ## Title: Lib: Babble-Boss-3.0
4 | ## Notes: A library to help with localization of bosses.
5 | ## Notes-zhCN: 为本地化服务的支持库[首领名称]
6 | ## Notes-zhTW: 為本地化服務的函式庫[首領名稱]
7 | ## Notes-deDE: BabbleLib ist eine Bibliothek, die bei der Lokalisierung helfen soll.
8 | ## Notes-frFR: Une bibliothèque d'aide à la localisation.
9 | ## Notes-esES: Una biblioteca para ayudar con las localizaciones.
10 | ## Author: ckknight
11 | ## X-eMail: ckknight@gmail.com
12 | ## X-Category: Library
13 | ## X-License: MIT
14 | ## X-Curse-Packaged-Version: r286
15 | ## X-Curse-Project-Name: LibBabble-Boss-3.0
16 | ## X-Curse-Project-ID: libbabble-boss-3-0
17 | ## X-Curse-Repository-ID: wow/libbabble-boss-3-0/mainline
18 |
19 | LibStub\LibStub.lua
20 | lib.xml
21 |
22 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Faction-3.0/LibBabble-Faction-3.0.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## LoadOnDemand: 1
3 | ## Title: Lib: Babble-Faction-3.0
4 | ## Notes: A library to help with localization of factions.
5 | ## Notes-zhCN: 为本地化服务的支持库[声望阵营]
6 | ## Notes-zhTW: 為本地化服務的函式庫[聲望陣營]
7 | ## Notes-deDE: BabbleLib ist eine Bibliothek, die bei der Lokalisierung helfen soll.
8 | ## Notes-frFR: Une bibliothèque d'aide à la localisation.
9 | ## Notes-esES: Una biblioteca para ayudar con las localizaciones.
10 | ## Notes-ruRU: Библиотека для локализации аддонов.
11 | ## Author: Daviesh
12 | ## X-eMail: oma_daviesh@hotmail.com
13 | ## X-Category: Library
14 | ## X-License: MIT
15 | ## X-Curse-Packaged-Version: r112
16 | ## X-Curse-Project-Name: LibBabble-Faction-3.0
17 | ## X-Curse-Project-ID: libbabble-faction-3-0
18 | ## X-Curse-Repository-ID: wow/libbabble-faction-3-0/mainline
19 |
20 | LibStub\LibStub.lua
21 | lib.xml
22 |
23 |
--------------------------------------------------------------------------------
/AtlasLoot/modules.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
18 |
19 |
--------------------------------------------------------------------------------
/AtlasLoot_PVP/AtlasLoot_PVP.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_PVP
3 | ## Title-deDE: AtlasLoot |cFF0099FF[Welt-Loot]|r
4 | ## Title-zhCN: AtlasLoot |cFF0099FF[户外首领]|r
5 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 世界事件
6 | ## Notes: AtlasLoot loot tables from Sirus.su
7 | ## Notes-zhCN: AtlasLoot Enhanced 的户外首领掉落信息
8 | ## Notes-zhTW: AtlasLoot 世界事件物品掉落資料庫
9 | ## Author: Hegarol
10 | ## Version: for Sirus.su by Copperfield,Днюша
11 | ## X-eMail: manager@atlasloot.net
12 | ## X-Category: Map
13 | ## X-License: GPL v2
14 | ## X-Website: http://www.atlasloot.net
15 | ## Dependencies: AtlasLoot
16 | ## LoadOnDemand: 1
17 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Днюша
18 | ## X-Curse-Project-Name: Atlasloot Enhanced
19 | ## X-Curse-Project-ID: atlasloot-enhanced
20 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
21 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_PVP
22 |
23 | pvp.lua
24 | localization.lua
25 |
--------------------------------------------------------------------------------
/AtlasLoot_Sirus/AtlasLoot_Sirus.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_Sirus
3 | ## Title-deDE: AtlasLoot |cFF0099FF[Welt-Loot]|r
4 | ## Title-zhCN: AtlasLoot |cFF0099FF[户外首领]|r
5 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 世界事件
6 | ## Notes: AtlasLoot loot tables from Sirus.su
7 | ## Notes-zhCN: AtlasLoot Enhanced 的户外首领掉落信息
8 | ## Notes-zhTW: AtlasLoot 世界事件物品掉落資料庫
9 | ## Author: Hegarol
10 | ## Version: for Sirus.su by Copperfield,Днюша
11 | ## X-eMail: manager@atlasloot.net
12 | ## X-Category: Map
13 | ## X-License: GPL v2
14 | ## X-Website: http://www.atlasloot.net
15 | ## Dependencies: AtlasLoot
16 | ## LoadOnDemand: 1
17 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Днюша
18 | ## X-Curse-Project-Name: Atlasloot Enhanced
19 | ## X-Curse-Project-ID: atlasloot-enhanced
20 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
21 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_Sirus
22 |
23 | sirus.lua
24 | localization.lua
25 |
--------------------------------------------------------------------------------
/AtlasLoot_Crafting/AtlasLoot_Crafting.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_Crafting
3 | ## Title-zhCN: AtlasLoot |cFF0099FF[交易技能]|r
4 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 商業技能
5 | ## Notes: AtlasLoot loot tables of Crafting Items
6 | ## Notes-deDE: AtlasLoot loot tables of Crafting Items
7 | ## Notes-zhCN: AtlasLoot 交易技能制造出的物品表
8 | ## Notes-zhTW: AtlasLoot 商業技能物品資料庫
9 | ## Author: Hegarol
10 | ## Version: for Sirus.su by Copperfield, Mysterium
11 | ## X-eMail: manager@atlasloot.net
12 | ## X-Category: Map
13 | ## X-License: GPL v2
14 | ## X-Website: http://www.atlasloot.net
15 | ## Dependencies: AtlasLoot
16 | ## LoadOnDemand: 1
17 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Mysterium
18 | ## X-Curse-Project-Name: Atlasloot Enhanced
19 | ## X-Curse-Project-ID: atlasloot-enhanced
20 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
21 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_Crafting
22 |
23 | crafting.lua
24 | localization.lua
25 |
--------------------------------------------------------------------------------
/AtlasLootFu/AtlasLootFu.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLootFu
3 | ## Notes: Minimap button for AtlasLoot
4 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 小地圖按鍵
5 | ## Notes-zhTW: AtlasLoot 小地圖按鍵
6 | ## Author: Днюша
7 | ## Version: v.25.02.20 AtlasLoot Sirus
8 | ## X-eMail: https://forum.sirus.su/threads/atlasloot-sirus.86804/
9 | ## X-Category: Map
10 | ## X-License: GPL v2
11 | ## X-Website: https://forum.sirus.su/threads/atlasloot-sirus.86804/
12 | ## X-Embeds: Ace2, FuBarPlugin-2.0, TabletLib
13 | ## SavedVariables: AtlasLootFuDB
14 | ## Dependencies: AtlasLoot
15 | ## OptionalDeps: Ace2, FuBarPlugin-2.0, TabletLib, FuBar
16 | ## X-Curse-Packaged-Version: 02.1.20 by Copperfield, Sanguinius, Mysterium,Днюша
17 | ## X-Curse-Project-Name: Atlasloot Enhanced
18 | ## X-Curse-Project-ID: atlasloot-enhanced
19 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
20 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLootFu
21 |
22 | embeds.xml
23 |
24 | Locales.lua
25 | AtlasLootFu.lua
--------------------------------------------------------------------------------
/AtlasLoot_WorldEvents/AtlasLoot_WorldEvents.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_WorldEvents
3 | ## Title-deDE: AtlasLoot |cFF0099FF[Welt-Loot]|r
4 | ## Title-zhCN: AtlasLoot |cFF0099FF[户外首领]|r
5 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 世界事件
6 | ## Notes: AtlasLoot loot tables from world events
7 | ## Notes-zhCN: AtlasLoot Enhanced 的户外首领掉落信息
8 | ## Notes-zhTW: AtlasLoot 世界事件物品掉落資料庫
9 | ## Author: Hegarol
10 | ## Version: for Sirus.su by Copperfield, Mysterium
11 | ## X-eMail: manager@atlasloot.net
12 | ## X-Category: Map
13 | ## X-License: GPL v2
14 | ## X-Website: http://www.atlasloot.net
15 | ## Dependencies: AtlasLoot
16 | ## LoadOnDemand: 1
17 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Mysterium
18 | ## X-Curse-Project-Name: Atlasloot Enhanced
19 | ## X-Curse-Project-ID: atlasloot-enhanced
20 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
21 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_WorldEvents
22 |
23 | worldevents.lua
24 | localization.lua
25 |
--------------------------------------------------------------------------------
/AtlasLoot_WrathoftheLichKing/AtlasLoot_WrathoftheLichKing.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_WrathoftheLichKing
3 | ## Title-zhCN: AtlasLoot |cFF0099FF[巫妖王之怒]|r
4 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 巫妖王之怒
5 | ## Notes: AtlasLoot loot tables from the Wrath of the Lich King
6 | ## Notes-zhCN: AtlasLoot Enhanced 的《巫妖王之怒》副本掉落信息
7 | ## Notes-zhTW: AtlasLoot 巫妖王之怒副本掉落物品資料庫
8 | ## Author: Hegarol
9 | ## Version: for Sirus.su by Copperfield, Mysterium
10 | ## X-eMail: manager@atlasloot.net
11 | ## X-Category: Map
12 | ## X-License: GPL v2
13 | ## X-Website: http://www.atlasloot.net
14 | ## Dependencies: AtlasLoot
15 | ## LoadOnDemand: 1
16 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Mysterium
17 | ## X-Curse-Project-Name: Atlasloot Enhanced
18 | ## X-Curse-Project-ID: atlasloot-enhanced
19 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
20 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_WrathoftheLichKing
21 |
22 | wrathofthelichking.lua
23 | localization.lua
24 |
--------------------------------------------------------------------------------
/AtlasLoot_OriginalWoW/AtlasLoot_OriginalWoW.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_OriginalWoW
3 | ## Title-deDE: AtlasLoot |cFF0099FF[Alte Instanzen]|r
4 | ## Title-zhCN: AtlasLoot |cFF0099FF[经典旧世]|r
5 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 艾澤拉斯世界
6 | ## Notes: AtlasLoot loot tables from pre-Burning Crusade
7 | ## Notes-deDE: AtlasLoot Loot-Tabellen für Instanzen vor Burning Crusade
8 | ## Notes-zhCN: AtlasLoot Enhanced 的《燃烧的远征》发售之前的副本掉落信息
9 | ## Notes-zhTW: AtlasLoot 艾澤拉斯副本掉落物品資料庫
10 | ## Author: Hegarol
11 | ## Version: for Sirus.su by Copperfield, Mysterium
12 | ## X-eMail: manager@atlasloot.net
13 | ## X-Category: Map
14 | ## X-License: GPL v2
15 | ## X-Website: http://www.atlasloot.net
16 | ## Dependencies: AtlasLoot
17 | ## LoadOnDemand: 1
18 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Mysterium
19 | ## X-Curse-Project-Name: Atlasloot Enhanced
20 | ## X-Curse-Project-ID: atlasloot-enhanced
21 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
22 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_OriginalWoW
23 |
24 | originalwow.lua
25 | localization.lua
26 |
--------------------------------------------------------------------------------
/AtlasLoot_BurningCrusade/AtlasLoot_BurningCrusade.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot_BurningCrusade
3 | ## Title-deDE: AtlasLoot |cFF0099FF[BC-Instanzen]|r
4 | ## Title-zhCN: AtlasLoot |cFF0099FF[燃烧的远征]|r
5 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 燃燒的遠征
6 | ## Notes: AtlasLoot loot tables from the Burning Crusade
7 | ## Notes-deDE: AtlasLoot Loot-Tabellen für Burning Crusade Instanzen
8 | ## Notes-zhCN: AtlasLoot Enhanced 的《燃烧的远征》副本掉落信息
9 | ## Notes-zhTW: AtlasLoot 燃燒的遠征副本掉落物品資料庫
10 | ## Author: Hegarol
11 | ## Version: for Sirus.su by Copperfield, Sanguinius, Mysterium
12 | ## X-eMail: manager@atlasloot.net
13 | ## X-Category: Map
14 | ## X-License: GPL v2
15 | ## X-Website: http://www.atlasloot.net
16 | ## Dependencies: AtlasLoot
17 | ## LoadOnDemand: 1
18 | ## X-Curse-Packaged-Version: for Sirus.su by Copperfield, Sanguinius, Mysterium
19 | ## X-Curse-Project-Name: Atlasloot Enhanced
20 | ## X-Curse-Project-ID: atlasloot-enhanced
21 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
22 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot_BurningCrusade
23 |
24 | burningcrusade.lua
25 | localization.lua
26 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/LibAboutPanel.toc:
--------------------------------------------------------------------------------
1 | ## Title: Lib: AboutPanel
2 | ## X-Curse-Packaged-Version: v1.43
3 | ## X-Curse-Project-Name: LibAboutPanel
4 | ## X-Curse-Project-ID: libaboutpanel
5 | ## X-Curse-Repository-ID: wow/libaboutpanel/mainline
6 |
7 | ## Notes: Adds an about panel to interface options.
8 |
9 | ## Author: Ackis
10 | ## eMail: ackis AT shaw DOT ca
11 | ##X-Author-Faction = Alliance
12 | ##X-Author-Server = Thunderlord US
13 | ## X-Donate: http://www.curseforge.com/projects/libaboutpanel/#w_donations
14 |
15 | ## Interface: 30300
16 | ## Version: 1.43
17 | ## X-Revision: @project-revision@
18 | ## X-Date: 2009-12-18T22:27:31Z
19 |
20 | ## X-Category: Libraries
21 | ## X-Localizations: enUS
22 | ## X-Website: http://www.wowwiki.com/LibAboutPanel
23 | ## X-Feedback: http://wow.curse.com/downloads/wow-addons/details/libaboutpanel.aspx
24 |
25 | ## Dependencies:
26 | ## X-Embeds: LibStub, CallbackHandler-1.0
27 | ## OptionalDeps: LibStub, CallbackHandler-1.0
28 | ## DefaultState: Enabled
29 | ## LoadOnDemand: 0
30 |
31 | #@no-lib-strip@
32 | libs\LibStub\LibStub.lua
33 | libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
34 | #@end-no-lib-strip@
35 |
36 | LibAboutPanel.lua
37 |
--------------------------------------------------------------------------------
/AtlasLoot/embeds.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AtlasLoot/AtlasLayout/worldbosses.en.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | worldbosses.en.lua
3 | This file defines the loot buttons in the Atlas interface for the WorldBosses maps.
4 | ]]
5 |
6 | AtlasLootWBBossButtons = {
7 |
8 | FourDragons = {
9 | "";
10 | "";
11 | "";
12 | "";
13 | "";
14 | "";
15 | "";
16 | "";
17 | "";
18 | "";
19 | "";
20 | "";
21 | "DLethon";
22 | "DEmeriss";
23 | "DTaerar";
24 | "DYsondre";
25 | };
26 |
27 | Azuregos = {
28 | "WorldBossesClassic";
29 | };
30 |
31 | DoomLordKazzak = {
32 | "WorldBossesBC";
33 | };
34 |
35 | Doomwalker = {
36 | "WorldBossesBC";
37 | };
38 |
39 | Skettis = {
40 | "";
41 | "";
42 | "";
43 | "";
44 | "";
45 | "";
46 | "";
47 | "";
48 | "Terokk";
49 | "";
50 | "";
51 | "SkettisTalonpriestIshaal";
52 | "";
53 | "";
54 | "SkettisHazziksPackage";
55 | "";
56 | "";
57 | "DarkscreecherAkkarai";
58 | "GezzaraktheHuntress";
59 | "Karrog";
60 | "VakkiztheWindrager";
61 | };
62 | Norigorn = {
63 | "Norigorn_x2";
64 | },
65 |
66 | };
--------------------------------------------------------------------------------
/AtlasLoot/Add_Ons/AtlasLootUpdate.lua:
--------------------------------------------------------------------------------
1 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
2 | local current_version = GetAddOnMetadata("AtlasLoot", "Version")
3 | local frame = CreateFrame("Frame")
4 |
5 | frame:RegisterEvent("PLAYER_ENTERING_WORLD")
6 | frame:RegisterEvent("CHAT_MSG_ADDON")
7 |
8 | frame:SetScript("OnEvent", function(frame, event, ...)
9 |
10 | if (event == "PLAYER_ENTERING_WORLD") then
11 | if (AtlasLootNeedUprate~= nil) then
12 | if (tonumber(AtlasLootNeedUprate) > tonumber(current_version)) then
13 | getglobal("AtlasLootDefaultFrame_Notice"):SetText(AL["Need Update"])
14 | end
15 | end
16 |
17 | if GetNumRaidMembers() > 1 then
18 | local _, instanceType = IsInInstance()
19 | if instanceType == "pvp" then
20 | SendAddonMessage("AtlasLootUpdater", tostring(current_version), "BATTLEGROUND")
21 | else
22 | SendAddonMessage("AtlasLootUpdater", tostring(current_version), "RAID")
23 | end
24 | elseif GetNumPartyMembers() > 0 then
25 | SendAddonMessage("AtlasLootUpdater", tostring(current_version), "PARTY")
26 | elseif IsInGuild() then
27 | SendAddonMessage("AtlasLootUpdater", tostring(current_version), "GUILD")
28 | end
29 |
30 | elseif (event == "CHAT_MSG_ADDON" and arg1 == "AtlasLootUpdater" ) then
31 |
32 | if (tonumber(arg2) > tonumber(current_version)) then
33 | getglobal("AtlasLootDefaultFrame_Notice"):SetText(AL["Need Update"])
34 | AtlasLootNeedUprate = arg2
35 | end
36 | end
37 | end)
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibStub/LibStub.lua:
--------------------------------------------------------------------------------
1 | -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
2 | -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
3 | local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
4 | local LibStub = _G[LIBSTUB_MAJOR]
5 |
6 | if not LibStub or LibStub.minor < LIBSTUB_MINOR then
7 | LibStub = LibStub or {libs = {}, minors = {} }
8 | _G[LIBSTUB_MAJOR] = LibStub
9 | LibStub.minor = LIBSTUB_MINOR
10 |
11 | function LibStub:NewLibrary(major, minor)
12 | assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
13 | minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
14 |
15 | local oldminor = self.minors[major]
16 | if oldminor and oldminor >= minor then return nil end
17 | self.minors[major], self.libs[major] = minor, self.libs[major] or {}
18 | return self.libs[major], oldminor
19 | end
20 |
21 | function LibStub:GetLibrary(major, silent)
22 | if not self.libs[major] and not silent then
23 | error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
24 | end
25 | return self.libs[major], self.minors[major]
26 | end
27 |
28 | function LibStub:IterateLibraries() return pairs(self.libs) end
29 | setmetatable(LibStub, { __call = LibStub.GetLibrary })
30 | end
31 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/libs/LibStub/LibStub.lua:
--------------------------------------------------------------------------------
1 | -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
2 | -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
3 | local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
4 | local LibStub = _G[LIBSTUB_MAJOR]
5 |
6 | if not LibStub or LibStub.minor < LIBSTUB_MINOR then
7 | LibStub = LibStub or {libs = {}, minors = {} }
8 | _G[LIBSTUB_MAJOR] = LibStub
9 | LibStub.minor = LIBSTUB_MINOR
10 |
11 | function LibStub:NewLibrary(major, minor)
12 | assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
13 | minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
14 |
15 | local oldminor = self.minors[major]
16 | if oldminor and oldminor >= minor then return nil end
17 | self.minors[major], self.libs[major] = minor, self.libs[major] or {}
18 | return self.libs[major], oldminor
19 | end
20 |
21 | function LibStub:GetLibrary(major, silent)
22 | if not self.libs[major] and not silent then
23 | error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
24 | end
25 | return self.libs[major], self.minors[major]
26 | end
27 |
28 | function LibStub:IterateLibraries() return pairs(self.libs) end
29 | setmetatable(LibStub, { __call = LibStub.GetLibrary })
30 | end
31 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Boss-3.0/LibStub/LibStub.lua:
--------------------------------------------------------------------------------
1 | -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
2 | -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
3 | local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
4 | local LibStub = _G[LIBSTUB_MAJOR]
5 |
6 | if not LibStub or LibStub.minor < LIBSTUB_MINOR then
7 | LibStub = LibStub or {libs = {}, minors = {} }
8 | _G[LIBSTUB_MAJOR] = LibStub
9 | LibStub.minor = LIBSTUB_MINOR
10 |
11 | function LibStub:NewLibrary(major, minor)
12 | assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
13 | minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
14 |
15 | local oldminor = self.minors[major]
16 | if oldminor and oldminor >= minor then return nil end
17 | self.minors[major], self.libs[major] = minor, self.libs[major] or {}
18 | return self.libs[major], oldminor
19 | end
20 |
21 | function LibStub:GetLibrary(major, silent)
22 | if not self.libs[major] and not silent then
23 | error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
24 | end
25 | return self.libs[major], self.minors[major]
26 | end
27 |
28 | function LibStub:IterateLibraries() return pairs(self.libs) end
29 | setmetatable(LibStub, { __call = LibStub.GetLibrary })
30 | end
31 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Zone-3.0/LibStub/LibStub.lua:
--------------------------------------------------------------------------------
1 | -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
2 | -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
3 | local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
4 | local LibStub = _G[LIBSTUB_MAJOR]
5 |
6 | if not LibStub or LibStub.minor < LIBSTUB_MINOR then
7 | LibStub = LibStub or {libs = {}, minors = {} }
8 | _G[LIBSTUB_MAJOR] = LibStub
9 | LibStub.minor = LIBSTUB_MINOR
10 |
11 | function LibStub:NewLibrary(major, minor)
12 | assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
13 | minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
14 |
15 | local oldminor = self.minors[major]
16 | if oldminor and oldminor >= minor then return nil end
17 | self.minors[major], self.libs[major] = minor, self.libs[major] or {}
18 | return self.libs[major], oldminor
19 | end
20 |
21 | function LibStub:GetLibrary(major, silent)
22 | if not self.libs[major] and not silent then
23 | error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
24 | end
25 | return self.libs[major], self.minors[major]
26 | end
27 |
28 | function LibStub:IterateLibraries() return pairs(self.libs) end
29 | setmetatable(LibStub, { __call = LibStub.GetLibrary })
30 | end
31 |
--------------------------------------------------------------------------------
/AtlasLoot/Menus/DailyMenus.lua:
--------------------------------------------------------------------------------
1 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
2 | local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
3 | local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
4 | local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
5 |
6 | AtlasLoot_Data["DAILYMENU"] = {
7 | { 2, "SunOffensive3", "inv_shield_48","Кель'Данас", "=ds="..AL["BMarketEquip"]};
8 | { 4, "Kor'kron_Battalion", "achievement_zone_tolbarad", "Тол'Гарод", "" };
9 | { 17, "SunOffensive1", "inv_shield_48","Кель'Данас", "=ds="..AL["BMarketOther"]};
10 | { 19, "REPMENU_Sirus_History", "inv_misc_azsharacoin", "Истории прошлого", "" };
11 | };
12 | AtlasLoot_Data["DailySpecT4"] = {
13 | { 2, "SunOffensive3", "inv_shield_48","Кель'Данас", "=ds="..AL["BMarketEquip"]};
14 | { 4, "Kor'kron_Battalion", "achievement_zone_tolbarad", "Тол'Гарод", "" };
15 | { 17, "SunOffensive1", "inv_shield_48","Кель'Данас", "=ds="..AL["BMarketOther"]};
16 | { 19, "REPMENU_Sirus_History", "inv_misc_azsharacoin", "Истории прошлого", "" };
17 | };
18 | AtlasLoot_Data["DailySpecT5"] = {
19 | { 2, "SunOffensive3", "inv_shield_48","Кель'Данас", "=ds="..AL["BMarketEquip"]};
20 | { 4, "Kor'kron_Battalion", "achievement_zone_tolbarad", "Тол'Гарод", "" };
21 | { 17, "SunOffensive1", "inv_shield_48","Кель'Данас", "=ds="..AL["BMarketOther"]};
22 | { 19, "REPMENU_Sirus_History", "inv_misc_azsharacoin", "Истории прошлого", "" };
23 | };
24 |
25 | AtlasLoot_Data["EmptyTable"] = {
26 | };
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Faction-3.0/LibStub/LibStub.lua:
--------------------------------------------------------------------------------
1 | -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
2 | -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
3 | local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
4 | local LibStub = _G[LIBSTUB_MAJOR]
5 |
6 | if not LibStub or LibStub.minor < LIBSTUB_MINOR then
7 | LibStub = LibStub or {libs = {}, minors = {} }
8 | _G[LIBSTUB_MAJOR] = LibStub
9 | LibStub.minor = LIBSTUB_MINOR
10 |
11 | function LibStub:NewLibrary(major, minor)
12 | assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
13 | minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
14 |
15 | local oldminor = self.minors[major]
16 | if oldminor and oldminor >= minor then return nil end
17 | self.minors[major], self.libs[major] = minor, self.libs[major] or {}
18 | return self.libs[major], oldminor
19 | end
20 |
21 | function LibStub:GetLibrary(major, silent)
22 | if not self.libs[major] and not silent then
23 | error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
24 | end
25 | return self.libs[major], self.minors[major]
26 | end
27 |
28 | function LibStub:IterateLibraries() return pairs(self.libs) end
29 | setmetatable(LibStub, { __call = LibStub.GetLibrary })
30 | end
31 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Inventory-3.0/LibStub/LibStub.lua:
--------------------------------------------------------------------------------
1 | -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
2 | -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
3 | local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
4 | local LibStub = _G[LIBSTUB_MAJOR]
5 |
6 | if not LibStub or LibStub.minor < LIBSTUB_MINOR then
7 | LibStub = LibStub or {libs = {}, minors = {} }
8 | _G[LIBSTUB_MAJOR] = LibStub
9 | LibStub.minor = LIBSTUB_MINOR
10 |
11 | function LibStub:NewLibrary(major, minor)
12 | assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
13 | minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
14 |
15 | local oldminor = self.minors[major]
16 | if oldminor and oldminor >= minor then return nil end
17 | self.minors[major], self.libs[major] = minor, self.libs[major] or {}
18 | return self.libs[major], oldminor
19 | end
20 |
21 | function LibStub:GetLibrary(major, silent)
22 | if not self.libs[major] and not silent then
23 | error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
24 | end
25 | return self.libs[major], self.minors[major]
26 | end
27 |
28 | function LibStub:IterateLibraries() return pairs(self.libs) end
29 | setmetatable(LibStub, { __call = LibStub.GetLibrary })
30 | end
31 |
--------------------------------------------------------------------------------
/AtlasLootFu/Locales.lua:
--------------------------------------------------------------------------------
1 | ATLASLOOTFU_LEFTCLICK = "|cff1eff00Left-Click|r Browse Loot Tables";
2 | ATLASLOOTFU_SHIFTCLICK = "|cffff0000Shift-Click|r View Options";
3 | ATLASLOOTFU_LEFTDRAG = "|cffccccccLeft-Click + Drag|r Move Minimap Button";
4 |
5 | if (GetLocale() == "deDE") then
6 | ATLASLOOTFU_LEFTCLICK = "|cff1eff00Linksklick|r Loot-Tabellen durchsuchen";
7 | ATLASLOOTFU_SHIFTCLICK = "|cffff0000Shift-Klick|r Optionen anzeigen";
8 | ATLASLOOTFU_LEFTDRAG = "|cffccccccLinksklick + Ziehen|r Minimap-Button bewegen";
9 | end
10 |
11 | if (GetLocale() == "frFR") then
12 | ATLASLOOTFU_LEFTCLICK = "|cff1eff00Clic-Gauche|r Parcourir les tables de butin";
13 | ATLASLOOTFU_SHIFTCLICK = "|cffff0000Shift-Clic|r Affiche les Options";
14 | ATLASLOOTFU_LEFTDRAG = "|cffccccccClic-Gauche + Maintenir|r Déplacer l'icone de la minimap";
15 | end
16 |
17 | if (GetLocale() == "ruRU") then
18 | ATLASLOOTFU_LEFTCLICK = "|cff1eff00Левый-Клик|r обзор таблицы добычи";
19 | ATLASLOOTFU_SHIFTCLICK = "|cffff0000Shift-Клик|r настройки";
20 | ATLASLOOTFU_LEFTDRAG = "|cffccccccЛевый-Клик + тащить|r перемещение кнопки";
21 | end
22 |
23 | if (GetLocale() == "zhTW") then
24 | ATLASLOOTFU_LEFTCLICK = "|cff1eff00左鍵|r 瀏覽物品掉落表格";
25 | ATLASLOOTFU_SHIFTCLICK = "|cffff0000Shift-點擊|r 查看選項";
26 | ATLASLOOTFU_LEFTDRAG = "|cffcccccc右鍵 + 拖曳|r 移動小地圖按鈕";
27 | end
28 |
29 | if (GetLocale() == "zhCN") then
30 | ATLASLOOTFU_LEFTCLICK = "|cff1eff00左键|r 浏览物品掉落表格";
31 | ATLASLOOTFU_SHIFTCLICK = "|cffff0000Shift-点击|r 查看选项";
32 | ATLASLOOTFU_LEFTDRAG = "|cffcccccc右键 + 拖曳|r 移动小地图按钮";
33 | end
34 |
35 |
--------------------------------------------------------------------------------
/AtlasLoot/AtlasLoot.toc:
--------------------------------------------------------------------------------
1 | ## Interface: 30300
2 | ## Title: AtlasLoot
3 | ## Notes: Shows the possible loot from the bosses
4 | ## Author: Hegarol(Создатель аддона). Copperfield, Sanguinius,Mysterium(Адаптация под Sirus.su),Днюша(Адаптация под Sirus.su),Spread(Адаптация под Sirus.su)
5 | ## Version: 20.35
6 | ## X-eMail:
7 | ## X-Credits: Mysterium, за модификацию Аддона
8 | ## X-Category: Карта
9 | ## X-License: GPL v2
10 | ## X-Website :https://forum.sirus.su/threads/atlasloot-sirus.86804/
11 | ## X-Embeds: Ace3, DewdropLib, FuBarPlugin-2.0, LibBabble-Boss-3.0, LibBabble-Faction-3.0, LibBabble-Inventory-3.0, LibBabble-Zone-3.0
12 | ## Title-deDE: AtlasLoot Enhanced
13 | ## Notes-deDE: Zeigt mögliche Beute von Bossen
14 | ## Title-frFR: AtlasLoot Enhanced
15 | ## Notes-frFR: Montre le butin possible des boss
16 | ## Title-esES: AtlasLoot Enhanced
17 | ## Notes-esES: Muestra el posible botin de los jefes finales
18 | ## Title-koKR: AtlasLoot Enhanced
19 | ## Notes-koKR: Shows the possible loot from the bosses
20 | ## Title-zhCN: AtlasLoot Enhanced
21 | ## Notes-zhCN: 显示副本中的首领与小怪可能掉落的物品
22 | ## Title-zhTW: |r|cFF0099FF[地圖]|rAL 物品掉落主程式
23 | ## Notes-zhTW: 顯示首領與小怪可能掉落的物品,並可查詢各陣營與戰場的獎勵物品、套裝物品等
24 | ## RealTitle-zhCN: [地图]副本掉落物品查询
25 | ## RealTitle-zhTW: [地圖]AL 物品掉落[主程式]
26 | ## Notes-ruRU: Отображает всю возможную добычу и даже больше!
27 | ## SavedVariables: AtlasLootOptions, AtlasLootDB, AtlasLootWishList, AtlasLootFrameLock, AtlasLootFrameLockPos,AtlasLootNeedUprate
28 | ## SavedVariablesPerCharacter: AtlasLootCharDB, AtlasLootFilterDB
29 | ## OptionalDeps: Alphamap, LootLink, ItemSync, DewdropLib, FuBarPlugin-3.0, FuBar, Ace3, LibBabble-Boss-3.0, LibBabble-Faction-3.0, LibBabble-Inventory-3.0, LibBabble-Zone-3.0
30 | ## X-Curse-Packaged-Version: 02.01.20 от Copperfield, Sanguinius,Mysterium,Днюша,Spread
31 | ## X-Curse-Project-Name: Atlasloot Enhanced
32 | ## X-Curse-Project-ID: atlasloot-enhanced
33 | ## X-Curse-Repository-ID: wow/atlasloot-enhanced/mainline
34 | ## X-Sirus-Update: https://github.com/Mr-Dan/AtlasLoot-Sirus/tree/main/AtlasLoot
35 |
36 | embeds.xml
37 |
38 | Locales\Locales.xml
39 | TableRegister\TableRegister.xml
40 | AtlasLayout\AtlasLayout.xml
41 | Add_Ons\Addons.xml
42 | Menus\Menus.xml
43 | Core\AtlasLoot.xml
44 | DefaultFrame\AtlaslootDefaultFrame.xml
45 |
46 | modules.xml
47 |
--------------------------------------------------------------------------------
/AtlasLootFu/AtlasLootFu.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | Name : AtlasLootFu
3 | Version : 1.1
4 | Author : Daviesh (oma_daviesh@hotmail.com)
5 | Website : http://www.atlasloot.net
6 | Description : Adds AtlasLoot to FuBar.
7 | ]]
8 |
9 | --Invoke libraries
10 | local tablet = AceLibrary("Tablet-2.0");
11 |
12 | --Define the plugin
13 | AtlasLootFu = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0", "AceDB-2.0", "FuBarPlugin-2.0");
14 | AtlasLootFu.title = "AtlasLootFu";
15 | AtlasLootFu.hasIcon = "Interface\\Icons\\s_PVP-Reward-Chest";
16 | --DH_FelHeritage
17 | ---ACHIEVEMENT_GUILDPERK_MOBILEBANKING
18 | --s_PVP-Reward-Chest
19 | --TRADE_ARCHAEOLOGY_CHESTOFTINYGLASSANIMALS
20 |
21 |
22 |
23 |
24 |
25 | AtlasLootFu.defaultPosition = "LEFT";
26 | AtlasLootFu.defaultMinimapPosition = 180;
27 | AtlasLootFu.cannotDetachTooltip = true;
28 |
29 | -- Activate menu options to hide icon/text (no point in having the colour option)
30 | AtlasLootFu.hasNoColor = true;
31 | AtlasLootFu:RegisterDB("AtlasLootFuDB");
32 |
33 | --Make sure the plugin is the rightt format when activated
34 | function AtlasLootFu:OnEnable()
35 | self:Update();
36 | end
37 |
38 | --Define text to display when the cursor mouses over the plugin
39 | function AtlasLootFu:OnTooltipUpdate()
40 | local cat = tablet:AddCategory()
41 | cat:AddLine(
42 | "text", ATLASLOOTFU_LEFTCLICK
43 | )
44 | cat:AddLine(
45 | "text", ATLASLOOTFU_SHIFTCLICK
46 | )
47 | cat:AddLine(
48 | "text", ATLASLOOTFU_LEFTDRAG
49 | )
50 | end
51 |
52 | --Define what to do when the plugin is clicked
53 | function AtlasLootFu:OnClick(button)
54 | --Left click -> open loot browser
55 | --Shift Left Click -> show options menu
56 | --Right click -> standard FuBar options
57 | if IsShiftKeyDown() then
58 | AtlasLootOptions_Toggle();
59 | else
60 | if AtlasLootDefaultFrame:IsVisible() then
61 | AtlasLootDefaultFrame:Hide();
62 | else
63 | AtlasLootDefaultFrame:Show();
64 | end
65 |
66 | if (AtlasLootFrameLockMod ~= nil) then
67 | if ((AtlasLootFrameLockPos[1] == nil and AtlasLootFrameLockPos[2] == nil) or (AtlasLootFrameLock[1] == 0)) then
68 | AtlasLootDefaultFrame:ClearAllPoints();
69 | AtlasLootDefaultFrame:SetPoint("CENTER")
70 | end
71 | end
72 |
73 |
74 | if (AtlasLootLogItemsMod ~= nil) then
75 | if((AtlasLoot_Data["LastLootedItems"] ~= nil)) then
76 | AtlasLootLastLootUpdate()
77 | end
78 | end
79 |
80 | end
81 | end
82 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibDataBroker-1.1/LibDataBroker-1.1.lua:
--------------------------------------------------------------------------------
1 |
2 | assert(LibStub, "LibDataBroker-1.1 requires LibStub")
3 | assert(LibStub:GetLibrary("CallbackHandler-1.0", true), "LibDataBroker-1.1 requires CallbackHandler-1.0")
4 |
5 | local lib, oldminor = LibStub:NewLibrary("LibDataBroker-1.1", 3)
6 | if not lib then return end
7 | oldminor = oldminor or 0
8 |
9 |
10 | lib.callbacks = lib.callbacks or LibStub:GetLibrary("CallbackHandler-1.0"):New(lib)
11 | lib.attributestorage, lib.namestorage, lib.proxystorage = lib.attributestorage or {}, lib.namestorage or {}, lib.proxystorage or {}
12 | local attributestorage, namestorage, callbacks = lib.attributestorage, lib.namestorage, lib.callbacks
13 |
14 | if oldminor < 2 then
15 | lib.domt = {
16 | __metatable = "access denied",
17 | __index = function(self, key) return attributestorage[self] and attributestorage[self][key] end,
18 | }
19 | end
20 |
21 | if oldminor < 3 then
22 | lib.domt.__newindex = function(self, key, value)
23 | if not attributestorage[self] then attributestorage[self] = {} end
24 | if attributestorage[self][key] == value then return end
25 | attributestorage[self][key] = value
26 | local name = namestorage[self]
27 | if not name then return end
28 | callbacks:Fire("LibDataBroker_AttributeChanged", name, key, value, self)
29 | callbacks:Fire("LibDataBroker_AttributeChanged_"..name, name, key, value, self)
30 | callbacks:Fire("LibDataBroker_AttributeChanged_"..name.."_"..key, name, key, value, self)
31 | callbacks:Fire("LibDataBroker_AttributeChanged__"..key, name, key, value, self)
32 | end
33 | end
34 |
35 | if oldminor < 2 then
36 | function lib:NewDataObject(name, dataobj)
37 | if self.proxystorage[name] then return end
38 |
39 | if dataobj then
40 | assert(type(dataobj) == "table", "Invalid dataobj, must be nil or a table")
41 | self.attributestorage[dataobj] = {}
42 | for i,v in pairs(dataobj) do
43 | self.attributestorage[dataobj][i] = v
44 | dataobj[i] = nil
45 | end
46 | end
47 | dataobj = setmetatable(dataobj or {}, self.domt)
48 | self.proxystorage[name], self.namestorage[dataobj] = dataobj, name
49 | self.callbacks:Fire("LibDataBroker_DataObjectCreated", name, dataobj)
50 | return dataobj
51 | end
52 | end
53 |
54 | if oldminor < 1 then
55 | function lib:DataObjectIterator()
56 | return pairs(self.proxystorage)
57 | end
58 |
59 | function lib:GetDataObjectByName(dataobjectname)
60 | return self.proxystorage[dataobjectname]
61 | end
62 |
63 | function lib:GetNameByDataObject(dataobject)
64 | return self.namestorage[dataobject]
65 | end
66 | end
67 |
--------------------------------------------------------------------------------
/AtlasLoot/TableRegister/loottables.cn.lua:
--------------------------------------------------------------------------------
1 | -- [[
2 | -- Last Updated: 02/28/2008
3 | -- Initial translation by: 560889223
4 | -- Maintained by: Diablohu
5 | -- http://www.dreamgen.cn
6 | -- ]]
7 |
8 | if (GetLocale() == "zhCN") then
9 |
10 | -----------------
11 | --- Instances ---
12 | -----------------
13 |
14 | --Keys
15 | AtlasLoot_TableNames["OldKeys"][1] = "钥匙";
16 | AtlasLoot_TableNames["BCKeys"][1] = "钥匙";
17 | --Blackrock Depths
18 | AtlasLoot_TableNames["BRDArena"][1] = "竞技场";
19 | AtlasLoot_TableNames["BRDForgewright"][1] = "弗兰克罗恩·铸铁的雕像";
20 | AtlasLoot_TableNames["BRDGuzzler"][1] = "黑铁酒吧";
21 | AtlasLoot_TableNames["BRDTomb"][1] = "召唤者之墓";
22 | AtlasLoot_TableNames["BRDBSPlans"][1] = "锻造设计图 (黑石深渊)";
23 | --The Black Temple
24 | AtlasLoot_TableNames["BTEssencofSouls"][1] = "灵魂之匣";
25 | AtlasLoot_TableNames["BTPatterns"][1] = "掉落图纸 (黑暗神殿)";
26 | --Blackwing Lair
27 | AtlasLoot_TableNames["BWLDraconicForDummies"][1] = "龙语傻瓜教程:第七卷";
28 | --Dire Maul East
29 | AtlasLoot_TableNames["DMBooks"][1] = "厄运之槌书籍";
30 | --HC: Shattered Halls
31 | AtlasLoot_TableNames["HCHallsExecutioner"][1] = "碎手斩杀者";
32 | --Karazhan
33 | AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "焦骨碎块 (任务物品)";
34 | AtlasLoot_TableNames["KaraNamed"][1] = "仆人区动物首领";
35 | AtlasLoot_TableNames["KaraKeannaLog"][1] = "金娜的日记 (任务物品)";
36 | AtlasLoot_TableNames["KaraOperaEvent"][1] = "歌剧";
37 | --Molten Core
38 | AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "首领随机掉落 (熔火之心)";
39 | --The Ruins of Ahn'Qiraj
40 | AtlasLoot_TableNames["AQ20Trash"][1] = "普通怪物 (安其拉废墟)";
41 | AtlasLoot_TableNames["AQ20ClassBooks"][1] = "安其拉职业书籍";
42 | AtlasLoot_TableNames["AQEnchants"][1] = "安其拉掉落附魔公式";
43 | --Stratholme
44 | AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "邮箱钥匙";
45 | AtlasLoot_TableNames["STRATAtiesh"][1] = "埃提耶什 <萨格拉斯之手>";
46 | AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "设计图:平静";
47 | AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "设计图:腐蚀";
48 | --Sunken Temple
49 | AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "哈卡的后代";
50 | AtlasLoot_TableNames["STTrollMinibosses"][1] = "巨魔小首领";
51 | --Sunwell Plateau
52 | AtlasLoot_TableNames["SPPatterns"][1] = "掉落图纸 (太阳之井高地)";
53 | --Temple of Ahn'Qiraj
54 | AtlasLoot_TableNames["AQ40Trash1"][1] = "普通怪物 (安其拉神殿)";
55 | AtlasLoot_TableNames["AQ40Trash2"][1] = "普通怪物 (安其拉神殿)";
56 | AtlasLoot_TableNames["AQOpening"][1] = "安琪拉之门任务奖励";
57 | --TK: The Eye
58 | AtlasLoot_TableNames["TKEyeLegendaries"][1] = "凯尔萨斯一役使用到的传奇物品";
59 | --Uldaman
60 | AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "雷乌纳石板";
61 | AtlasLoot_TableNames["UldTabletofWill"][1] = "意志石板";
62 | AtlasLoot_TableNames["UldShadowforgeCache"][1] = "暗影熔炉地窖";
63 | --Zul'Aman
64 | AtlasLoot_TableNames["ZATimedChest"][1] = "限时任务奖励";
65 | --Zul'Gurub
66 | AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "混浊的水";
67 | AtlasLoot_TableNames["ZGShared"][1] = "祖尔格拉布祭司首领共享掉落";
68 | AtlasLoot_TableNames["ZGEnchants"][1] = "祖尔格拉布职业附魔";
69 |
70 | ------------------------
71 | --- Misc Collections ---
72 | ------------------------
73 |
74 | AtlasLoot_TableNames["BlizzardCollectables1"][1] = "暴雪收藏表";
75 | AtlasLoot_TableNames["RareMounts1"][1] = "稀有坐骑 - 经典旧世";
76 | AtlasLoot_TableNames["RareMounts2"][1] = "稀有坐骑 - 燃烧的远征";
77 |
78 | --------------
79 | --- Events ---
80 | --------------
81 |
82 | --Abyssal Council
83 | AtlasLoot_TableNames["Templars"][1] = "深渊议会 - 圣殿骑士";
84 | AtlasLoot_TableNames["Dukes"][1] = "深渊议会 - 公爵";
85 | AtlasLoot_TableNames["HighCouncil"][1] = "深渊议会 - 上层议会";
86 | --Seasonal
87 | AtlasLoot_TableNames["LordAhune"][1] = "冰霜之王埃霍恩";
88 | AtlasLoot_TableNames["Winterviel2"][1] = "冬幕节";
89 | --Skettis
90 | AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "鸦爪祭司伊沙尔";
91 | AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "哈吉克的包裹";
92 |
93 | --------------------
94 | --- Rep Factions ---
95 | --------------------
96 |
97 | --Argent Dawn
98 | AtlasLoot_TableNames["Argent1"][1] = "银色黎明: 交换的奖励";
99 | --Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
100 | AtlasLoot_TableNames["ShattrathFlasks1"][1] = "沙塔斯合剂";
101 |
102 | end
103 |
--------------------------------------------------------------------------------
/AtlasLoot/Core/AtlasIntegration.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | This file contains all the Atlas specific functions
3 | ]]
4 |
5 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
6 |
7 | --[[
8 | AtlasLoot_SetupForAtlas:
9 | This function sets up the Atlas specific XML objects
10 | ]]
11 | function AtlasLoot_SetupForAtlas()
12 | --Position the frame with the AtlasLoot version details in the Atlas frame
13 | AtlasLootInfo:ClearAllPoints();
14 | AtlasLootInfo:SetParent(AtlasFrame);
15 | AtlasLootInfo:SetPoint("TOPLEFT", "AtlasFrame", "TOPLEFT", 546, -3);
16 |
17 | --Anchor the bottom panel to the Atlas frame
18 | AtlasLootPanel:ClearAllPoints();
19 | AtlasLootPanel:SetParent(AtlasFrame);
20 | AtlasLootPanel:SetPoint("TOP", "AtlasFrame", "BOTTOM", 0, 9);
21 |
22 | --Anchor the loot table to the Atlas frame
23 | AtlasLoot_SetItemInfoFrame();
24 | AtlasLootItemsFrame:Hide();
25 | AtlasLoot_AnchorFrame = AtlasFrame;
26 | end
27 |
28 | --[[
29 | AtlasLootBoss_OnClick:
30 | Invoked whenever a boss line in Atlas is clicked
31 | Shows a loot page if one is associated with the button
32 | ]]
33 | function AtlasLootBoss_OnClick(name)
34 |
35 |
36 |
37 | local zoneID = ATLAS_DROPDOWNS[AtlasOptions.AtlasType][AtlasOptions.AtlasZone];
38 | local id = this.idnum;
39 |
40 |
41 | --If the loot table was already shown and boss clicked again, hide the loot table and fix boss list icons
42 | if getglobal(name.."_Selected"):IsVisible() then
43 | getglobal(name.."_Selected"):Hide();
44 | getglobal(name.."_Loot"):Show();
45 | AtlasLootItemsFrame:Hide();
46 | AtlasLootItemsFrame.activeBoss = nil;
47 | else
48 | --If an loot table is associated with the button, show it. Note multiple tables need to be checked due to the database structure
49 | if (AtlasLootBossButtons[zoneID] ~= nil and AtlasLootBossButtons[zoneID][id] ~= nil and AtlasLootBossButtons[zoneID][id] ~= "") then
50 | if AtlasLoot_IsLootTableAvailable(AtlasLootBossButtons[zoneID][id]) then
51 | getglobal(name.."_Selected"):Show();
52 | getglobal(name.."_Loot"):Hide();
53 | local _,_,boss = string.find(getglobal(name.."_Text"):GetText(), "|c%x%x%x%x%x%x%x%x%s*[%dX']*[%) ]*(.*[^%,])[%,]?$");
54 | AtlasLoot_ShowBossLoot(AtlasLootBossButtons[zoneID][id], boss, AtlasFrame);
55 | AtlasLootItemsFrame.activeBoss = id;
56 | AtlasLoot_AtlasScrollBar_Update();
57 | end
58 | elseif (AtlasLootWBBossButtons[zoneID] ~= nil and AtlasLootWBBossButtons[zoneID][id] ~= nil and AtlasLootWBBossButtons[zoneID][id] ~= "") then
59 | if AtlasLoot_IsLootTableAvailable(AtlasLootWBBossButtons[zoneID][id]) then
60 | getglobal(name.."_Selected"):Show();
61 | getglobal(name.."_Loot"):Hide();
62 | local _,_,boss = string.find(getglobal(name.."_Text"):GetText(), "|c%x%x%x%x%x%x%x%x%s*[%dX]*[%) ]*(.*[^%,])[%,]?$");
63 | AtlasLoot_ShowBossLoot(AtlasLootWBBossButtons[zoneID][id], boss, AtlasFrame);
64 | AtlasLootItemsFrame.activeBoss = id;
65 | AtlasLoot_AtlasScrollBar_Update();
66 | end
67 | elseif (AtlasLootBattlegrounds[zoneID] ~= nil and AtlasLootBattlegrounds[zoneID][id] ~= nil and AtlasLootBattlegrounds[zoneID][id] ~= "") then
68 | if AtlasLoot_IsLootTableAvailable(AtlasLootBattlegrounds[zoneID][id]) then
69 | getglobal(name.."_Selected"):Show();
70 | getglobal(name.."_Loot"):Hide();
71 | local _,_,boss = string.find(getglobal(name.."_Text"):GetText(), "|c%x%x%x%x%x%x%x%x%s*[%wX]*[%) ]*(.*[^%,])[%,]?$");
72 | AtlasLoot_ShowBossLoot(AtlasLootBattlegrounds[zoneID][id], boss, AtlasFrame);
73 | AtlasLootItemsFrame.activeBoss = id;
74 | AtlasLoot_AtlasScrollBar_Update();
75 | end
76 | end
77 | end
78 |
79 | --This has been invoked from Atlas, so we remove any claim external mods have on the loot table
80 | AtlasLootItemsFrame.externalBoss = nil;
81 |
82 | --Hide the AtlasQuest frame if present so that the AtlasLoot items frame is not stuck under it
83 | if (AtlasQuestInsideFrame) then
84 | HideUIPanel(AtlasQuestInsideFrame);
85 | end
86 | end
87 |
--------------------------------------------------------------------------------
/AtlasLoot/TableRegister/loottables.de.lua:
--------------------------------------------------------------------------------
1 | if (GetLocale() == "deDE") then
2 |
3 | -----------------
4 | --- Instanzen ---
5 | -----------------
6 |
7 | --Keys
8 | AtlasLoot_TableNames["OldKeys"][1] = "Schlüssel";
9 | AtlasLoot_TableNames["BCKeys"][1] = "Schlüssel";
10 | --Der Schwarzfels
11 | AtlasLoot_TableNames["BRMScarshieldQuartermaster"][1] = "Scarshield Quartermaster";
12 | --Schwarzfelstiefen
13 | AtlasLoot_TableNames["BRDArena"][1] = "Ring des Gesetzes";
14 | AtlasLoot_TableNames["BRDForgewright"][1] = "Statue von Franclorn Schmiedevater";
15 | AtlasLoot_TableNames["BRDGuzzler"][1] = "Der grimmige Säufer";
16 | AtlasLoot_TableNames["BRDTomb"][1] = "Grabmal der Boten";
17 | AtlasLoot_TableNames["BRDBSPlans"][1] = "Schmiedekunst Pläne";
18 | --Der schwarze Tempel
19 | AtlasLoot_TableNames["BTEssencofSouls"][1] = "Reliquiar der Verirrten";
20 | AtlasLoot_TableNames["BTPatterns"][1] = "Muster/Pläne (Der schwarze Tempel)";
21 | --Duesterbruch (Ost)
22 | AtlasLoot_TableNames["DMBooks"][1] = "Düsterbruch Bücher";
23 | --Duesterbruch (Nord)
24 | AtlasLoot_TableNames["DMNTRIBUTERUN"][1] = "Tribut Run";
25 | --Duesterbruch (West)
26 | AtlasLoot_TableNames["DMWShendralarProvisioner"][1] = "Versorger der Shen'dralar";
27 | --HZ: Die zerschmetterten Hallen
28 | AtlasLoot_TableNames["HCHallsExecutioner"][1] = "Shattered Hand Executioner";
29 | --Karazhan
30 | AtlasLoot_TableNames["KaraNamed"][1] = "Kellerbosse";
31 | AtlasLoot_TableNames["KaraOperaEvent"][1] = "Theater-Event";
32 | --Maraudon
33 | AtlasLoot_TableNames["MaraNamelesProphet"][1] = "The Nameles Prophet";
34 | --Geschmolzener Kern
35 | AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "Zufälliger Boss Loot";
36 | --Ruinen von Ahn'Qiraj
37 | AtlasLoot_TableNames["AQ20ClassBooks"][1] = "AQ Klassenbücher";
38 | AtlasLoot_TableNames["AQEnchants"][1] = "AQ Verzauberungen";
39 | --Stratholme
40 | AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "Briefkastenschlüssel";
41 | AtlasLoot_TableNames["STRATAtiesh"][1] = "Atiesh ";
42 | AtlasLoot_TableNames["STRATMalorsStrongbox"][1] = "Malors Geldkassette";
43 | AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "Plans: Serenity";
44 | AtlasLoot_TableNames["STRATSothosJarien"][1] = "Sothos und Jarien";
45 | AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "Plans: Corruption";
46 | --Der Tempel von Atal'Hakkar
47 | AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "Brut von Hakkar";
48 | AtlasLoot_TableNames["STTrollMinibosses"][1] = "Troll Minibosse";
49 | --Tempel von Ahn'Qiraj
50 | AtlasLoot_TableNames["AQOpening"][1] = "AQ Tor Öffnung";
51 | --FdS: Auge des Sturms
52 | AtlasLoot_TableNames["TKEyeLegendaries"][1] = "Legendäre Items für Kael'thas Kampf";
53 | --Uldaman
54 | AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "Schrifttafel von Ryun'eh";
55 | AtlasLoot_TableNames["UldKromStoutarmChest"][1] = "Krom Starkarms Truhe";
56 | AtlasLoot_TableNames["UldGarrettFamilyChest"][1] = "Familientruhe der Garretts";
57 | AtlasLoot_TableNames["UldTabletofWill"][1] = "Schrifttafel des Willens";
58 | AtlasLoot_TableNames["UldShadowforgeCache"][1] = "Shadowforge-Cache";
59 | --Zul'Aman
60 | AtlasLoot_TableNames["ZATimedChest"][1] = "Timed Reward Chest";
61 | --Zul'Gurub
62 | AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "Schlammiges aufgewühltes Gewässer";
63 | AtlasLoot_TableNames["ZGShared"][1] = "Geteilter ZG Priester Boss Loot";
64 |
65 | ------------
66 | --- Sets ---
67 | ------------
68 |
69 | -------
70 |
71 |
72 | -----------------------
73 | --- Misc Collections ---
74 | -----------------------
75 |
76 | AtlasLoot_TableNames["BlizzardCollectables1"] = { "Blizzard Collectables", "AtlasLootSetItems" };
77 |
78 | ------------------
79 | --- Welt Bosse ---
80 | ------------------
81 |
82 | ---------
83 |
84 | --------------
85 | --- Events ---
86 | --------------
87 |
88 | --Abyssischer Rat
89 | AtlasLoot_TableNames["Templars"][1] = "Abyssischer Rat - Templer";
90 | AtlasLoot_TableNames["Dukes"][1] = "Abyssischer Rat - Fürsten";
91 | AtlasLoot_TableNames["HighCouncil"][1] = "Abyssischer Rat - Hoher Rat";
92 |
93 |
94 | ---------------------
95 | --- Ruf Fraktionen ---
96 | ---------------------
97 |
98 | --Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
99 | AtlasLoot_TableNames["ShattrathFlasks1"] = { "Shattrath Fläschchen", "AtlasLootRepItems" };
100 |
101 | -----------
102 | --- PvP ---
103 | -----------
104 |
105 | end
--------------------------------------------------------------------------------
/AtlasLoot/TableRegister/loottables.es.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | loottables.es.lua --- Traduction ES por maqjav y StiviS
3 | This file assigns a title to every loot table. The primary use of this table
4 | is in the search function, as when iterating through the loot tables there is no
5 | inherant title to the loot table, given the origins of the mod as an Atlas plugin.
6 |
7 | ]]
8 |
9 | --Invoke libraries
10 | local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
11 |
12 | if (GetLocale() == "esES") then
13 |
14 | -----------------
15 | --- Instances ---
16 | -----------------
17 |
18 | --Keys
19 | AtlasLoot_TableNames["OldKeys"][1] = "Llaves";
20 | AtlasLoot_TableNames["BCKeys"][1] = "Llaves";
21 | --Blackrock Depths
22 | AtlasLoot_TableNames["BRDArena"][1] = "Círculo de la Ley";
23 | AtlasLoot_TableNames["BRDForgewright"][1] = "Monumento a Franclorn Forjador";
24 | AtlasLoot_TableNames["BRDGuzzler"][1] = "Grim Guzzler"; --FALTA
25 | AtlasLoot_TableNames["BRDTomb"][1] = "Tumba del Invocador";
26 | AtlasLoot_TableNames["BRDBSPlans"][1] = "Diseño de herrería (PRN)";
27 | --The Black Temple
28 | AtlasLoot_TableNames["BTEssencofSouls"][1] = "Reliquaire des \195\162mes";
29 | AtlasLoot_TableNames["BTPatterns"][1] = "Recetas/Planos del Templo Oscuro";
30 | --Blackwing Lair
31 | AtlasLoot_TableNames["BWLDraconicForDummies"][1] = "Dracónico para torpes Volumen VII";
32 | --Dire Maul East
33 | AtlasLoot_TableNames["DMBooks"][1] = "Libros (LM)";
34 | --HC: Shattered Halls
35 | AtlasLoot_TableNames["HCHallsExecutioner"][1] = "Ejecutor Mano Destrozada (Heróico)";
36 | --Karazhan
37 | AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "Trozo de hueso carbonizado (Objeto de misión)";
38 | AtlasLoot_TableNames["KaraNamed"][1] = "Los jefes animales";
39 | AtlasLoot_TableNames["KaraKeannaLog"][1] = "Apuntes de Keanna (Objeto de misión)";
40 | AtlasLoot_TableNames["KaraOperaEvent"][1] = "Evento de la opera";
41 | --Molten Core
42 | AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "Botín de jefes aleatorios";
43 | --The Ruins of Ahn'Qiraj
44 | AtlasLoot_TableNames["AQ20Trash"][1] = "Bichos varios (AQ20)";
45 | AtlasLoot_TableNames["AQ20ClassBooks"][1] = "Libros de clase de AQ";
46 | AtlasLoot_TableNames["AQEnchants"][1] = "Encantamientos AQ";
47 | --Shadowfang Keep
48 | AtlasLoot_TableNames["BSFFelSteed"][1] = "Corcel vil";
49 | --Stratholme
50 | AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "Mensajero de Stratholme";
51 | AtlasLoot_TableNames["STRATAtiesh"][1] = "Atiesh ";
52 | AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "Diseño: Serenidad";
53 | AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "Diseño: Corrupción";
54 | --Sunken Temple
55 | AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "Altar de Hakkar";
56 | AtlasLoot_TableNames["STTrollMinibosses"][1] = "Mini jefes troll";
57 | --Temple of Ahn'Qiraj
58 | AtlasLoot_TableNames["AQ40Trash1"][1] = "Bichos varios (AQ40)";
59 | AtlasLoot_TableNames["AQ40Trash2"][1] = "Bichos varios (AQ40)";
60 | AtlasLoot_TableNames["AQOpening"][1] = "Apertura de AQ";
61 | --TK: The Eye
62 | AtlasLoot_TableNames["TKEyeLegendaries"][1] = "Objetos legendarios de la lucha contra Kael'thas";
63 | --Uldaman
64 | AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "Tablilla de Ryun'eh";
65 | AtlasLoot_TableNames["UldTabletofWill"][1] = "Tablilla de Voluntad";
66 | AtlasLoot_TableNames["UldShadowforgeCache"][1] = "Alijo de Forjatiniebla";
67 | --Zul'Aman
68 | AtlasLoot_TableNames["ZATimedChest"][1] = "Cofre con temporizador"; --Comprobar
69 | --Zul'Gurub
70 | AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "Aguas Fangosas";
71 | AtlasLoot_TableNames["ZGShared"][1] = "Botín compartido por los sacerdotes (ZG)";
72 | AtlasLoot_TableNames["ZGEnchants"][1] = "Encantamientos (ZG)";
73 |
74 | ------------------------
75 | --- Misc Collections ---
76 | ------------------------
77 |
78 | AtlasLoot_TableNames["BlizzardCollectables1"][1] = "Colecciones Blizzard";
79 | AtlasLoot_TableNames["RareMounts1"][1] = "Monturas raras - WoW Original";
80 | AtlasLoot_TableNames["RareMounts2"][1] = "Monturas raras - The Burning Crusade";
81 |
82 | --------------
83 | --- Events ---
84 | --------------
85 |
86 | --Abyssal Council
87 | AtlasLoot_TableNames["Templars"][1] = "Consejo abisal - Templarios";
88 | AtlasLoot_TableNames["Dukes"][1] = "Consejo abisal - Duques";
89 | AtlasLoot_TableNames["HighCouncil"][1] = "Consejo abisal - Consejero mayor";
90 | --Seasonal
91 | AtlasLoot_TableNames["LordAhune"][1] = "Lord Ahune"; --FALTA
92 | AtlasLoot_TableNames["Winterviel2"][1] = "Regalos del Festival de Invierno";
93 | --Skettis
94 | AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "Sacerdote de la garra Ishaal";
95 | AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "Paquete de Hazzik";
96 |
97 | end
98 |
--------------------------------------------------------------------------------
/AtlasLoot/TableRegister/loottables.fr.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | loottables.fr.lua --- Traduction FR par KKram & Trasher
3 | This file assigns a title to every loot table. The primary use of this table
4 | is in the search function, as when iterating through the loot tables there is no
5 | inherant title to the loot table, given the origins of the mod as an Atlas plugin.
6 |
7 | ]]
8 |
9 | --Invoke libraries
10 | local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
11 |
12 | if (GetLocale() == "frFR") then
13 |
14 | -----------------
15 | --- Instances ---
16 | -----------------
17 |
18 | --Keys
19 | AtlasLoot_TableNames["OldKeys"][1] = "Clés";
20 | AtlasLoot_TableNames["BCKeys"][1] = "Clés";
21 | --Blackrock Depths
22 | AtlasLoot_TableNames["BRDArena"][1] = "L'Arène";
23 | AtlasLoot_TableNames["BRDForgewright"][1] = "Monument de Franclorn Le Forgebusier";
24 | AtlasLoot_TableNames["BRDGuzzler"][1] = "Grim Guzzler";
25 | AtlasLoot_TableNames["BRDTomb"][1] = "Le Tombeau des Sept";
26 | AtlasLoot_TableNames["BRDBSPlans"][1] = "Plans du forgeron (BRD)";
27 | --The Black Temple
28 | AtlasLoot_TableNames["BTEssencofSouls"][1] = "Reliquaire des âmes";
29 | AtlasLoot_TableNames["BTPatterns"][1] = "Patrons/Plans du Temple Noir";
30 | --Blackwing Lair
31 | AtlasLoot_TableNames["BWLDraconicForDummies"][1] = "Draconic for Dummies Chapter VII";
32 | --Dire Maul East
33 | AtlasLoot_TableNames["DMBooks"][1] = "Livres (DM)";
34 | --HC: Shattered Halls
35 | AtlasLoot_TableNames["HCHallsExecutioner"][1] = "Bourreau de la Main brisée";
36 | --Karazhan
37 | AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "Fragment d'os carbonisé (Objet de quête)";
38 | AtlasLoot_TableNames["KaraNamed"][1] = "Les trois Bêtes";
39 | AtlasLoot_TableNames["KaraKeannaLog"][1] = "Journal de Keanna (Objet de quête)";
40 | AtlasLoot_TableNames["KaraOperaEvent"][1] = "Evénement: Opéra";
41 | --Molten Core
42 | AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "Butin aléatoire";
43 | --The Ruins of Ahn'Qiraj
44 | AtlasLoot_TableNames["AQ20Trash"][1] = "Trash Mobs (AQ20)";
45 | AtlasLoot_TableNames["AQ20ClassBooks"][1] = "Livres de classe AQ";
46 | AtlasLoot_TableNames["AQEnchants"][1] = "Enchantements AQ";
47 | --Stratholme
48 | AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "Messager de Stratholme";
49 | AtlasLoot_TableNames["STRATAtiesh"][1] = "Atiesh "; -- à vérifier
50 | AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "Plans: Sérénité";
51 | AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "Plans: Corruption";
52 | --Sunken Temple
53 | AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "Rejeton d'Hakkar";
54 | AtlasLoot_TableNames["STTrollMinibosses"][1] = "Miniboss Trolls";
55 | --Temple of Ahn'Qiraj
56 | AtlasLoot_TableNames["AQ40Trash1"][1] = "Trash Mobs (AQ40)";
57 | AtlasLoot_TableNames["AQ40Trash2"][1] = "Trash Mobs (AQ40)";
58 | AtlasLoot_TableNames["AQOpening"][1] = "Evénement d'ouverture AQ";
59 | --TK: The Eye
60 | AtlasLoot_TableNames["TKEyeLegendaries"][1] = "Objets légendaires pour le combat de Kael'thas";
61 | --Uldaman
62 | AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "Tablette de Ryun'eh";
63 | AtlasLoot_TableNames["UldTabletofWill"][1] = "Tablette de volonté";
64 | AtlasLoot_TableNames["UldShadowforgeCache"][1] = "Cachette d'Ombreforge";
65 | --Zul'Aman
66 | AtlasLoot_TableNames["ZATimedChest"][1] = "Coffre du parcours rapide";
67 | --Zul'Gurub
68 | AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "Eaux troubles";
69 | AtlasLoot_TableNames["ZGShared"][1] = "Butin Partagé (ZG)";
70 | AtlasLoot_TableNames["ZGEnchants"][1] = "ZG Enchants";
71 |
72 | ------------------------
73 | --- Misc Collections ---
74 | ------------------------
75 |
76 | AtlasLoot_TableNames["BlizzardCollectables1"][1] = "Blizzard Collections";
77 | AtlasLoot_TableNames["RareMounts1"][1] = "Montures rares - Original WoW";
78 | AtlasLoot_TableNames["RareMounts2"][1] = "Montures rares - The Burning Crusade";
79 |
80 | --------------
81 | --- Events ---
82 | --------------
83 |
84 | --Abyssal Council
85 | AtlasLoot_TableNames["Templars"][1] = "Conseil abyssal - Templiers";
86 | AtlasLoot_TableNames["Dukes"][1] = "Conseil abyssal - Ducs";
87 | AtlasLoot_TableNames["HighCouncil"][1] = "Conseil abyssal - Haut Conseil";
88 | --Seasonal
89 | AtlasLoot_TableNames["LordAhune"][1] = "Lord Ahune";
90 | AtlasLoot_TableNames["Winterviel2"][1] = "Cadeaux de La fête du Voile d'hiver";
91 | --Skettis
92 | AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "Talonpriest Ishaal";
93 | AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "Hazzik's Package";
94 |
95 | --------------------
96 | --- Rep Factions ---
97 | --------------------
98 |
99 | --Argent Dawn
100 | AtlasLoot_TableNames["Argent1"][1] = BabbleFaction["Argent Dawn"]..": Insigne Main-Aube";
101 | --Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
102 | AtlasLoot_TableNames["ShattrathFlasks1"][1] = "Shattrath Flasks";
103 |
104 |
105 | end
--------------------------------------------------------------------------------
/AtlasLoot/Core/Launchers.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | Name : AtlasLootFu
3 | Version : 2.0
4 | Author : Daviesh (oma_daviesh@hotmail.com)
5 | Website : http://www.atlasloot.net
6 | Description : Adds AtlasLoot to FuBar.
7 | ]]
8 |
9 | --Invoke libraries
10 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
11 |
12 | --Make an LDB object
13 | LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject("AtlasLoot", {
14 | type = "launcher",
15 | icon = "Interface\\Icons\\INV_Box_01",
16 | OnClick = function()
17 | if IsShiftKeyDown() then
18 | AtlasLootOptions_Toggle();
19 | else
20 | if AtlasLootDefaultFrame:IsVisible() then
21 | AtlasLootDefaultFrame:Hide();
22 | else
23 | AtlasLootDefaultFrame:Show();
24 | end
25 | end
26 | end,
27 | })
28 |
29 | function AtlasLoot_OnBarButtonClick(button)
30 | if IsShiftKeyDown() then
31 | AtlasLootOptions_Toggle();
32 | else
33 | if AtlasLootDefaultFrame:IsVisible() then
34 | AtlasLootDefaultFrame:Hide();
35 | else
36 | AtlasLootDefaultFrame:Show();
37 | end
38 | end
39 | end
40 |
41 | --[[function AtlasLoot_MinimapButtonInit()
42 | if AtlasLootMinimapButtonFrame then
43 | if IsAddOnLoaded("FuBar") then
44 | AtlasLootMinimapButtonFrame:SetPoint("CENTER", "UIParent", "CENTER");
45 | AtlasLootMinimapButtonFrame:Hide();
46 | elseif(AtlasLoot.db.profile.MinimapButton == true) then
47 | AtlasLootMinimapButtonFrame:SetPoint("TOPLEFT","Minimap","TOPLEFT",54 - (78 * cos(AtlasLoot.db.profile.MinimapButtonAngle)),(78 * sin(AtlasLoot.db.profile.MinimapButtonAngle)) - 55);
48 | AtlasLootMinimapButtonFrame:Show();
49 | else
50 | AtlasLootMinimapButtonFrame:SetPoint("CENTER", "UIParent", "CENTER");
51 | AtlasLootMinimapButtonFrame:Hide();
52 | end
53 | end
54 | end
55 |
56 | function AtlasLoot_MinimapButtonOnEnter()
57 | GameTooltip:SetOwner(this, "ANCHOR_LEFT");
58 | GameTooltip:SetText(string.sub(ATLASLOOT_VERSION, 11, 28));
59 | GameTooltip:AddLine(AL["|cff1eff00Left-Click|r Browse Loot Tables"]);
60 | GameTooltip:AddLine(AL["|cffff0000Shift-Click|r View Options"]);
61 | GameTooltip:AddLine(AL["|cffccccccRight-Click + Drag|r Move Minimap Button"]);
62 | GameTooltip:Show();
63 | end
64 |
65 | -- Thanks to Yatlas and Atlas for this code
66 | function AtlasLoot_MinimapButtonBeingDragged()
67 | -- Thanks to Gello and Dan Gilbert for this code
68 | local xpos,ypos = GetCursorPosition()
69 | local xmin,ymin = Minimap:GetLeft(), Minimap:GetBottom()
70 |
71 | xpos = xmin-xpos/UIParent:GetScale()+70
72 | ypos = ypos/UIParent:GetScale()-ymin-70
73 |
74 | AtlasLoot_MinimapButtonSetPosition(math.deg(math.atan2(ypos,xpos)));
75 | end
76 |
77 | function AtlasLoot_MinimapButtonSetPosition(v)
78 | if(v < 0) then
79 | v = v + 360;
80 | end
81 |
82 | AtlasLoot.db.profile.MinimapButtonAngle = v;
83 | AtlasLoot_MinimapButtonUpdatePosition();
84 | end
85 |
86 | function AtlasLoot_MinimapButtonUpdatePosition()
87 | local radius = AtlasLoot.db.profile.MinimapButtonRadius;
88 | AtlasLootMinimapButtonFrame:SetPoint(
89 | "TOPLEFT",
90 | "Minimap",
91 | "TOPLEFT",
92 | 54 - (radius * cos(AtlasLoot.db.profile.MinimapButtonAngle)),
93 | (radius * sin(AtlasLoot.db.profile.MinimapButtonAngle)) - 55
94 | );
95 | if(AtlasLoot.db.profile.MinimapButton == true) then
96 | AtlasLootMinimapButtonFrame:Show();
97 | else
98 | AtlasLootMinimapButtonFrame:Hide();
99 | end
100 | end]]
101 |
102 | --[[if IsAddOnLoaded("FuBar") then
103 | if AtlasLootMinimapButtonFrame then
104 | AtlasLootMinimapButtonFrame:SetPoint("CENTER", "UIParent", "CENTER");
105 | AtlasLootMinimapButtonFrame:Hide();
106 | end
107 |
108 | AtlasLootFu = LibStub("AceAddon-3.0"):NewAddon("AtlasLootFu");
109 |
110 | AceDB = LibStub("AceDB-3.0");
111 |
112 | AtlasLootFu.db = AceDB:New("AtlasLootFuDB");
113 |
114 | LibStub("AceAddon-3.0"):EmbedLibrary(AtlasLootFu, "LibFuBarPlugin-Mod-3.0", true);
115 |
116 | AtlasLootFu:SetFuBarOption("tooltipType", "GameTooltip");
117 | --AtlasLootFu:SetFuBarOption("configType", "Dewdrop-2.0");
118 | AtlasLootFu:SetFuBarOption("iconPath", "Interface\\Icons\\INV_Box_01");
119 | --AtlasLootFu:SetFuBarOption("defaultMinimapPosition", 220);
120 | AtlasLootFu:SetFuBarOption("cannotDetachTooltip", true);
121 | AtlasLootFu:SetFuBarOption("hasNoColor", true);
122 |
123 | --Make sure the plugin is the rightt format when activated
124 | function AtlasLootFu:OnEnable()
125 | self:UpdateFuBarPlugin();
126 | end
127 |
128 | --Define text to display when the cursor mouses over the plugin
129 | function AtlasLootFu:OnUpdateFuBarTooltip()
130 | GameTooltip:AddLine(AL["|cff1eff00Left-Click|r Browse Loot Tables"]);
131 | GameTooltip:AddLine(AL["|cffff0000Shift-Click|r View Options"]);
132 | GameTooltip:AddLine(AL["|cffccccccLeft-Click + Drag|r Move Minimap Button"]);
133 | end
134 |
135 | --Define what to do when the plugin is clicked
136 | function AtlasLootFu:OnFuBarClick(button)
137 | --Left click -> open loot browser
138 | --Shift Left Click -> show options menu
139 | --Right click -> standard FuBar options
140 | AtlasLoot_OnBarButtonClick(button);
141 | end
142 |
143 | function AtlasLootFu:OpenMenu()
144 | AtlasLootOptions_Toggle();
145 | end
146 |
147 | end]]
148 |
--------------------------------------------------------------------------------
/AtlasLoot/Add_Ons/AtlasLootFrameLock.lua:
--------------------------------------------------------------------------------
1 | --AtlasLootDefaultFrame
2 |
3 | -- AtlasLootFrameLockMod = {}
4 |
5 | -- AtlasLootFrameLock = {}
6 | -- AtlasLootFrameLockPos = {}
7 |
8 |
9 | -- function AtlasLootFrameLockFStartUp()
10 | -- if (AtlasLootFrameLockPos[1] ~= nil and AtlasLootFrameLockPos[2] ~= nil and (AtlasLootFrameLock[1] == 1)) then --coords exists, locked
11 | -- AtlasLootDefaultFrame:SetPoint("BOTTOMLEFT", UIParent, AtlasLootFrameLockPos[1], AtlasLootFrameLockPos[2])
12 | -- end
13 | -- AtlasLootFrameLockF()
14 | -- end
15 |
16 | -- function AtlasLootFrameLockF()
17 |
18 | -- if AtlasLootFrameLock[1] == 0 then --lock entire AL frame
19 | -- AtlasLootDefaultFrame:RegisterForDrag("LeftButton");
20 | -- AtlasLootDefaultFrame:SetMovable(true)
21 | -- AtlasLootDefaultFrame:SetScript("OnDragStart", AtlasLootDefaultFrame.StartMoving)
22 | -- AtlasLootDefaultFrame:SetScript("OnDragStop", AtlasLootDefaultFrame.StopMovingOrSizing)
23 | -- else
24 | -- AtlasLootDefaultFrame:RegisterForDrag(nil);
25 | -- AtlasLootDefaultFrame:SetMovable(false)
26 | -- AtlasLootDefaultFrame:SetScript("OnDragStart", nil)
27 | -- AtlasLootDefaultFrame:SetScript("OnDragStop", nil)
28 | -- end
29 |
30 | -- end
31 |
32 | -- function AtlasLootLockButton()
33 | -- if AtlasLootDefaultFrame then
34 |
35 | -- if not ALLockButton then
36 | -- ALLockButton = CreateFrame("Button", "ALLockButton", AtlasLootDefaultFrame)
37 | -- ALLockButton:SetPoint("BOTTOM", AtlasLootDefaultFrame_CloseButton,"BOTTOM", 0, -20)
38 | -- ALLockButton:SetWidth(32)
39 | -- ALLockButton:SetHeight(32)
40 | -- end
41 |
42 | -- -- ALLockButton:SetBackdrop({bgFile = nil,
43 | -- -- edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
44 | -- -- edgeSize = 16,
45 | -- -- insets = { left = 0, right = 0, top = 0, bottom = 0 }});
46 |
47 | -- ALLockButtontex = ALLockButton:CreateTexture()
48 | -- ALLockButtontexp = ALLockButton:CreateTexture()
49 |
50 | -- if AtlasLootFrameLock[1] == nil then
51 | -- AtlasLootFrameLock[1] = 0
52 | -- end
53 |
54 | -- -- if AtlasLootFrameLock[1] == 0 then
55 | -- -- ALLockButtontexp:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Unlocked-Down")
56 | -- -- ALLockButtontex:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Unlocked-Up")
57 | -- -- end
58 | -- -- if AtlasLootFrameLock[1] == 1 then
59 | -- -- ALLockButtontexp:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Locked-Down")
60 | -- -- ALLockButtontex:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Locked-Up")
61 |
62 | -- -- end
63 |
64 | -- AtlasLootFrameLockFStartUp()
65 |
66 | -- if AtlasLootFrameLock[1] == 0 then
67 | -- ALLockButtontexp:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Unlocked-Down")
68 | -- ALLockButtontex:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Unlocked-Up")
69 | -- else
70 | -- ALLockButtontexp:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Locked-Down")
71 | -- ALLockButtontex:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Locked-Up")
72 |
73 | -- end
74 |
75 | -- ALLockButtontex:SetAllPoints()
76 | -- ALLockButton:SetNormalTexture(ALLockButtontex)
77 | -- ALLockButton:SetPushedTexture(ALLockButtontexp)
78 |
79 |
80 | -- ALLockButton:SetScript("OnClick", function(self, arg1)
81 | -- if AtlasLootFrameLock[1] == 0 then
82 | -- ALLockButtontexp:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Locked-Down")
83 | -- ALLockButtontex:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Locked-Up")
84 |
85 | -- ALLockButtontex:SetAllPoints()
86 | -- ALLockButton:SetNormalTexture(ALLockButtontex)
87 | -- ALLockButton:SetPushedTexture(ALLockButtontexp)
88 | -- AtlasLootFrameLock[1] = 1
89 | -- AtlasLootFrameLockPos[1] = AtlasLootDefaultFrame:GetLeft()
90 | -- AtlasLootFrameLockPos[2] = AtlasLootDefaultFrame:GetBottom()
91 | -- else
92 | -- ALLockButtontexp:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Unlocked-Down")
93 | -- ALLockButtontex:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\LockButton-Unlocked-Up")
94 | -- ALLockButtontex:SetAllPoints()
95 | -- ALLockButtontexp:SetAllPoints()
96 | -- ALLockButton:SetNormalTexture(ALLockButtontex)
97 | -- ALLockButton:SetPushedTexture(ALLockButtontexp)
98 | -- AtlasLootFrameLock[1] = 0
99 | -- AtlasLootFrameLockPos[1] = nil
100 | -- AtlasLootFrameLockPos[2] = nil
101 | -- end
102 | -- AtlasLootFrameLockF()
103 | -- end)
104 |
105 | -- AtlasLootLockButtonStyle()
106 | -- end
107 | -- end
108 |
109 | -- function AtlasLootLockButtonStyle()
110 | -- if( AtlasLoot.db.profile.LootBrowserStyle == 1 ) then
111 | -- ALLockButton:SetBackdropBorderColor(1,1,1,0.5)
112 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 2 ) then
113 | -- ALLockButton:SetBackdropBorderColor(0,0,0,1)
114 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 3 ) then
115 | -- ALLockButton:SetBackdropBorderColor(0.262,0.415,0.05,1)
116 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 4 ) then
117 | -- ALLockButton:SetBackdropBorderColor(0.658,0.396,0.250,1)
118 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 5 ) then
119 | -- ALLockButton:SetBackdropBorderColor(0.839,0.878,1,1)
120 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 6 ) then
121 | -- ALLockButton:SetBackdropBorderColor(1,0,0,1)
122 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 7 ) then
123 | -- ALLockButton:SetBackdropBorderColor(1,0.5,0,1)
124 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 8 ) then
125 | -- ALLockButton:SetBackdropBorderColor(0.419,0.02,0.321,1)
126 | -- elseif( AtlasLoot.db.profile.LootBrowserStyle == 9 ) then
127 | -- ALLockButton:SetBackdropBorderColor(0.764,0.623,0.235,1)
128 | -- end
129 | -- end
--------------------------------------------------------------------------------
/AtlasLoot/Menus/ZnakiMenus.lua:
--------------------------------------------------------------------------------
1 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
2 | local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
3 | local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
4 | local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
5 |
6 |
7 | AtlasLoot_Data["ZNAKIMENU"] = {
8 | { 1, "ARGENTMENU", "Ability_Paladin_ArtofWar", "=ds="..AL["Argent Tournament"], "=q5="..BabbleZone["Icecrown"]};
9 | { 3, "Brewfest1", "INV_Cask_04", "=ds="..AL["Brewfest"], "=q5="..AL["Various Locations"]};
10 | { 4, "DayoftheDead", "INV_Misc_Bone_HumanSkull_02", "=ds="..AL["Day of the Dead"], "=q5="..AL["Various Locations"]};
11 | { 5, "Halloween1", "INV_Misc_Bag_28_Halloween", "=ds="..AL["Hallow's End"], "=q5="..AL["Various Locations"]};
12 | { 6, "Valentineday", "INV_ValentinesBoxOfChocolates02", "=ds="..AL["Love is in the Air"], "=q5="..AL["Various Locations"]};
13 | { 7, "MidsummerFestival", "INV_SummerFest_FireFlower", "=ds="..AL["Midsummer Fire Festival"], "=q5="..AL["Various Locations"]};
14 | { 8, "PilgrimsBounty_H", "inv_helmet_65", "=ds="..AL["Pilgrim's Bounty"], "=q5="..AL["Various Locations"]};
15 | { 10, "BashirLanding", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Skyguard Raid"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
16 | { 11, "GurubashiArena", "INV_Box_02", "=ds="..AL["Gurubashi Arena Booty Run"], "=q5="..BabbleZone["Stranglethorn Vale"]};
17 | { 12, "Shartuul", "INV_Misc_Rune_04", "=ds="..AL["Shartuul"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
18 | { 14, "ABYSSALMENU", "INV_Staff_13", "=ds="..AL["Abyssal Council"], "=q5="..BabbleZone["Silithus"]};
19 | { 15, "SKETTISMENU", "Spell_Nature_NaturesWrath", "=ds="..AL["Skettis"], "=q5="..BabbleZone["Terokkar Forest"]};
20 | { 16, "DARKMOONMENU", "INV_Misc_Ticket_Tarot_Madness", "=ds="..BabbleFaction["Darkmoon Faire"], "=q5="..AL["Various Locations"]};
21 | { 18, "ChildrensWeek", "Ability_Hunter_BeastCall", "=ds="..AL["Children's Week"], "=q5="..AL["Various Locations"]};
22 | { 19, "Winterviel1", "INV_Holiday_Christmas_Present_01", "=ds="..AL["Feast of Winter Veil"], "=q5="..AL["Various Locations"]};
23 | { 20, "HarvestFestival", "INV_Misc_Food_33", "=ds="..AL["Harvest Festival"], "=q5="..AL["Various Locations"]};
24 | { 21, "LunarFestival1", "INV_Misc_ElvenCoins", "=ds="..AL["Lunar Festival"], "=q5="..AL["Various Locations"]};
25 | { 22, "Noblegarden", "INV_Egg_03", "=ds="..AL["Noblegarden"], "=q5="..AL["Various Locations"]};
26 | { 25, "ElementalInvasion", "INV_DataCrystal03", "=ds="..AL["Elemental Invasion"], "=q5="..AL["Various Locations"]};
27 | { 26, "ScourgeInvasionEvent1", "INV_Jewelry_Talisman_13", "=ds="..AL["Scourge Invasion"], "=q5="..AL["Various Locations"]};
28 | { 27, "FishingExtravaganza", "INV_Fishingpole_02", "=ds="..AL["Stranglethorn Fishing Extravaganza"], "=q5="..BabbleZone["Stranglethorn Vale"]};
29 | { 29, "ETHEREUMMENU", "INV_Misc_PunchCards_Prismatic", "=ds="..AL["Ethereum Prison"], ""};
30 | };
31 |
32 | AtlasLoot_Data["ARGENTMENU"] = {
33 | { 2, "ArgentTournament1", "inv_scroll_11", "=ds="..BabbleInventory["Miscellaneous"], ""};
34 | { 3, "ArgentTournament3", "inv_boots_plate_09", "=ds="..BabbleInventory["Armor"], ""};
35 | { 4, "ArgentTournament5", "achievement_reputation_argentchampion", "=ds="..AL["Vanity Pets"], ""};
36 | { 5, "ArgentTournament8", "inv_jewelry_talisman_01", "=ds="..AL["Heirloom"], ""};
37 | { 17, "ArgentTournament2", "inv_misc_tournaments_tabard_human", "=ds="..AL["Tabards"].." / "..AL["Banner"], ""};
38 | { 18, "ArgentTournament4", "inv_mace_29", "=ds="..AL["Weapons"], ""};
39 | { 19, "ArgentTournament6", "ability_mount_charger", "=ds="..AL["Mounts"], ""};
40 | Back = "WORLDEVENTMENU";
41 | };
42 |
43 | AtlasLoot_Data["DARKMOONMENU"] = {
44 | { 2, "Darkmoon1", "INV_Misc_Ticket_Darkmoon_01", "=ds="..AL["Darkmoon Faire Rewards"], ""};
45 | { 3, "Darkmoon3", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Original and BC Trinkets"], ""};
46 | { 17, "Darkmoon2", "INV_Misc_Ticket_Tarot_Furies", "=ds="..AL["Low Level Decks"], ""};
47 | { 18, "Darkmoon4", "INV_Inscription_TarotGreatness", "=ds="..AL["WotLK Trinkets"], ""};
48 | Back = "WORLDEVENTMENU";
49 | };
50 |
51 | AtlasLoot_Data["ABYSSALMENU"] = {
52 | { 2, "Templars", "INV_Jewelry_Talisman_05", "=ds="..AL["Abyssal Council"].." - "..AL["Templars"], ""};
53 | { 3, "HighCouncil", "INV_Staff_13", "=ds="..AL["Abyssal Council"].." - "..AL["High Council"], ""};
54 | { 17, "Dukes", "INV_Jewelry_Ring_36", "=ds="..AL["Abyssal Council"].." - "..AL["Dukes"], ""};
55 | Back = "WORLDEVENTMENU";
56 | };
57 |
58 | AtlasLoot_Data["ETHEREUMMENU"] = {
59 | { 2, "ArmbreakerHuffaz", "INV_Jewelry_Ring_59", "=ds="..AL["Armbreaker Huffaz"], ""};
60 | { 3, "Forgosh", "INV_Boots_05", "=ds="..AL["Forgosh"], ""};
61 | { 4, "MalevustheMad", "INV_Boots_Chain_04", "=ds="..AL["Malevus the Mad"], ""};
62 | { 5, "WrathbringerLaztarash", "INV_Misc_Orb_01", "=ds="..AL["Wrathbringer Laz-tarash"], ""};
63 | { 17, "FelTinkererZortan", "INV_Boots_Chain_08", "=ds="..AL["Fel Tinkerer Zortan"], ""};
64 | { 18, "Gulbor", "INV_Jewelry_Necklace_29Naxxramas", "=ds="..AL["Gul'bor"], ""};
65 | { 19, "PorfustheGemGorger", "INV_Boots_Cloth_01", "=ds="..AL["Porfus the Gem Gorger"], ""};
66 | { 20, "BashirStasisChambers", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Stasis Chambers"], ""};
67 | Back = "WORLDEVENTMENU";
68 | };
69 |
70 | AtlasLoot_Data["SKETTISMENU"] = {
71 | { 2, "DarkscreecherAkkarai", "INV_Misc_Rune_07", "=ds="..AL["Darkscreecher Akkarai"], ""};
72 | { 3, "GezzaraktheHuntress", "INV_Misc_Rune_07", "=ds="..AL["Gezzarak the Huntress"], ""};
73 | { 4, "Terokk", "INV_Misc_Rune_07", "=ds="..AL["Terokk"], ""};
74 | { 17, "Karrog", "INV_Misc_Rune_07", "=ds="..AL["Karrog"], ""};
75 | { 18, "VakkiztheWindrager", "INV_Misc_Rune_07", "=ds="..AL["Vakkiz the Windrager"], ""};
76 | Back = "WORLDEVENTMENU";
77 | };
--------------------------------------------------------------------------------
/AtlasLoot/Menus/WorldEventMenus.lua:
--------------------------------------------------------------------------------
1 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
2 | local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
3 | local BabbleFaction = AtlasLoot_GetLocaleLibBabble("LibBabble-Faction-3.0")
4 | local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
5 |
6 |
7 | AtlasLoot_Data["WORLDEVENTMENU"] = {
8 | { 1, "ARGENTMENU", "Ability_Paladin_ArtofWar", "=ds="..AL["Argent Tournament"], "=q5="..BabbleZone["Icecrown"]};
9 | { 3, "Brewfest1", "INV_Cask_04", "=ds="..AL["Brewfest"], "=q5="..AL["Various Locations"]};
10 | { 4, "DayoftheDead", "INV_Misc_Bone_HumanSkull_02", "=ds="..AL["Day of the Dead"], "=q5="..AL["Various Locations"]};
11 | { 5, "Halloween1", "INV_Misc_Bag_28_Halloween", "=ds="..AL["Hallow's End"], "=q5="..AL["Various Locations"]};
12 | { 6, "Valentineday", "INV_ValentinesBoxOfChocolates02", "=ds="..AL["Love is in the Air"], "=q5="..AL["Various Locations"]};
13 | { 7, "MidsummerFestival", "INV_SummerFest_FireFlower", "=ds="..AL["Midsummer Fire Festival"], "=q5="..AL["Various Locations"]};
14 | { 8, "PilgrimsBounty_H", "inv_helmet_65", "=ds="..AL["Pilgrim's Bounty"], "=q5="..AL["Various Locations"]};
15 | { 10, "BashirLanding", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Skyguard Raid"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
16 | { 11, "GurubashiArena", "INV_Box_02", "=ds="..AL["Gurubashi Arena Booty Run"], "=q5="..BabbleZone["Stranglethorn Vale"]};
17 | { 12, "Shartuul", "INV_Misc_Rune_04", "=ds="..AL["Shartuul"], "=q5="..BabbleZone["Blade's Edge Mountains"]};
18 | { 14, "ABYSSALMENU", "INV_Staff_13", "=ds="..AL["Abyssal Council"], "=q5="..BabbleZone["Silithus"]};
19 | { 15, "SKETTISMENU", "Spell_Nature_NaturesWrath", "=ds="..AL["Skettis"], "=q5="..BabbleZone["Terokkar Forest"]};
20 | { 16, "DARKMOONMENU", "INV_Misc_Ticket_Tarot_Madness", "=ds="..BabbleFaction["Darkmoon Faire"], "=q5="..AL["Various Locations"]};
21 | { 18, "ChildrensWeek", "Ability_Hunter_BeastCall", "=ds="..AL["Children's Week"], "=q5="..AL["Various Locations"]};
22 | { 19, "WintervielMenu", "INV_Holiday_Christmas_Present_01", "=ds="..AL["Feast of Winter Veil"], "=q5="..AL["Various Locations"]};
23 | { 20, "HarvestFestival", "INV_Misc_Food_33", "=ds="..AL["Harvest Festival"], "=q5="..AL["Various Locations"]};
24 | { 21, "LunarFestival1", "INV_Misc_ElvenCoins", "=ds="..AL["Lunar Festival"], "=q5="..AL["Various Locations"]};
25 | { 22, "Noblegarden", "INV_Egg_03", "=ds="..AL["Noblegarden"], "=q5="..AL["Various Locations"]};
26 | { 25, "ElementalInvasion", "INV_DataCrystal03", "=ds="..AL["Elemental Invasion"], "=q5="..AL["Various Locations"]};
27 | { 26, "ScourgeInvasionEvent1", "INV_Jewelry_Talisman_13", "=ds="..AL["Scourge Invasion"], "=q5="..AL["Various Locations"]};
28 | { 27, "FishingExtravaganza", "INV_Fishingpole_02", "=ds="..AL["Stranglethorn Fishing Extravaganza"], "=q5="..BabbleZone["Stranglethorn Vale"]};
29 | { 29, "ETHEREUMMENU", "INV_Misc_PunchCards_Prismatic", "=ds="..AL["Ethereum Prison"], ""};
30 | };
31 |
32 | AtlasLoot_Data["ARGENTMENU"] = {
33 | { 2, "ArgentTournament1", "inv_scroll_11", "=ds="..BabbleInventory["Miscellaneous"], ""};
34 | { 3, "ArgentTournament3", "inv_boots_plate_09", "=ds="..BabbleInventory["Armor"], ""};
35 | { 4, "ArgentTournament5", "achievement_reputation_argentchampion", "=ds="..AL["Vanity Pets"], ""};
36 | { 5, "ArgentTournament8", "inv_jewelry_talisman_01", "=ds="..AL["Heirloom"], ""};
37 | { 17, "ArgentTournament2", "inv_misc_tournaments_tabard_human", "=ds="..AL["Tabards"].." / "..AL["Banner"], ""};
38 | { 18, "ArgentTournament4", "inv_mace_29", "=ds="..AL["Weapons"], ""};
39 | { 19, "ArgentTournament6", "ability_mount_charger", "=ds="..AL["Mounts"], ""};
40 | Back = "WORLDEVENTMENU";
41 | };
42 |
43 | AtlasLoot_Data["DARKMOONMENU"] = {
44 | { 2, "Darkmoon1", "INV_Misc_Ticket_Darkmoon_01", "=ds="..AL["Darkmoon Faire Rewards"], ""};
45 | { 3, "Darkmoon3", "INV_Misc_Ticket_Tarot_Madness", "=ds="..AL["Original and BC Trinkets"], ""};
46 | { 17, "Darkmoon2", "INV_Misc_Ticket_Tarot_Furies", "=ds="..AL["Low Level Decks"], ""};
47 | { 18, "Darkmoon4", "INV_Inscription_TarotGreatness", "=ds="..AL["WotLK Trinkets"], ""};
48 | Back = "WORLDEVENTMENU";
49 | };
50 |
51 | AtlasLoot_Data["ABYSSALMENU"] = {
52 | { 2, "Templars", "INV_Jewelry_Talisman_05", "=ds="..AL["Abyssal Council"].." - "..AL["Templars"], ""};
53 | { 3, "HighCouncil", "INV_Staff_13", "=ds="..AL["Abyssal Council"].." - "..AL["High Council"], ""};
54 | { 17, "Dukes", "INV_Jewelry_Ring_36", "=ds="..AL["Abyssal Council"].." - "..AL["Dukes"], ""};
55 | Back = "WORLDEVENTMENU";
56 | };
57 |
58 | AtlasLoot_Data["ETHEREUMMENU"] = {
59 | { 2, "ArmbreakerHuffaz", "INV_Jewelry_Ring_59", "=ds="..AL["Armbreaker Huffaz"], ""};
60 | { 3, "Forgosh", "INV_Boots_05", "=ds="..AL["Forgosh"], ""};
61 | { 4, "MalevustheMad", "INV_Boots_Chain_04", "=ds="..AL["Malevus the Mad"], ""};
62 | { 5, "WrathbringerLaztarash", "INV_Misc_Orb_01", "=ds="..AL["Wrathbringer Laz-tarash"], ""};
63 | { 17, "FelTinkererZortan", "INV_Boots_Chain_08", "=ds="..AL["Fel Tinkerer Zortan"], ""};
64 | { 18, "Gulbor", "INV_Jewelry_Necklace_29Naxxramas", "=ds="..AL["Gul'bor"], ""};
65 | { 19, "PorfustheGemGorger", "INV_Boots_Cloth_01", "=ds="..AL["Porfus the Gem Gorger"], ""};
66 | { 20, "BashirStasisChambers", "INV_Trinket_Naxxramas02", "=ds="..AL["Bash'ir Landing Stasis Chambers"], ""};
67 | Back = "WORLDEVENTMENU";
68 | };
69 |
70 | AtlasLoot_Data["SKETTISMENU"] = {
71 | { 2, "DarkscreecherAkkarai", "INV_Misc_Rune_07", "=ds="..AL["Darkscreecher Akkarai"], ""};
72 | { 3, "GezzaraktheHuntress", "INV_Misc_Rune_07", "=ds="..AL["Gezzarak the Huntress"], ""};
73 | { 4, "Terokk", "INV_Misc_Rune_07", "=ds="..AL["Terokk"], ""};
74 | { 17, "Karrog", "INV_Misc_Rune_07", "=ds="..AL["Karrog"], ""};
75 | { 18, "VakkiztheWindrager", "INV_Misc_Rune_07", "=ds="..AL["Vakkiz the Windrager"], ""};
76 | Back = "WORLDEVENTMENU";
77 | };
78 |
79 | AtlasLoot_Data["WintervielMenu"] = {
80 | { 1, "Winterviel1", "INV_Misc_Rune_07", "=ds="..AL["Feast of Winter Veil"], ""};
81 | { 2, "RabbiSnegman", "INV_Pet_Snowman", "=ds="..AL["Rabbi Snegman"], ""};
82 | { 16, "FrozenSnowman'sLair", "INV_Pet_Snowman", "=ds="..AL["Frozen Snowman's Lair"], ""};
83 | Back = "WORLDEVENTMENU";
84 | };
--------------------------------------------------------------------------------
/AtlasLoot/AtlasLayout/Battlegrounds.en.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | Battlegrounds.en.lua
3 | This file defines the loot buttons in the Atlas interface for the battleground maps.
4 | ]]
5 | ------------
6 | -- Layout --
7 | ------------
8 |
9 | AtlasLootBattlegrounds = {
10 |
11 | AlteracValleyNorth = {
12 | "";
13 | "";
14 | "";
15 | "";
16 | "";
17 | "";
18 | "";
19 | "";
20 | "";
21 | "";
22 | "";
23 | "";
24 | "";
25 | "";
26 | "";
27 | "";
28 | "";
29 | "";
30 | "";
31 | "";
32 | "";
33 | "";
34 | "";
35 | "";
36 | "";
37 | "";
38 | "";
39 | "";
40 | "";
41 | "";
42 | "";
43 | "";
44 | "";
45 | "";
46 | "";
47 | "";
48 | "";
49 | "";
50 | "";
51 | "";
52 | "";
53 | "";
54 | "";
55 | "";
56 | "";
57 | "";
58 | "";
59 | "";
60 | "";
61 | "";
62 | "";
63 | "";
64 | "";
65 | "";
66 | "";
67 | "";
68 | "";
69 | "";
70 | "";
71 | "";
72 | "LEVEL80PVPSETS";
73 | "PVP80NONSETEPICS";
74 | "PvPNewTokens_x2";
75 | "PvP80UnSet1_x2";
76 | "GladiatorWeapons1_x2";
77 | };
78 |
79 | AlteracValleySouth = {
80 | "";
81 | "";
82 | "";
83 | "";
84 | "";
85 | "";
86 | "";
87 | "";
88 | "";
89 | "";
90 | "";
91 | "";
92 | "";
93 | "";
94 | "";
95 | "";
96 | "";
97 | "";
98 | "";
99 | "";
100 | "";
101 | "";
102 | "";
103 | "";
104 | "";
105 | "";
106 | "";
107 | "";
108 | "";
109 | "";
110 | "";
111 | "";
112 | "";
113 | "";
114 | "";
115 | "";
116 | "";
117 | "";
118 | "";
119 | "";
120 | "";
121 | "";
122 | "";
123 | "LEVEL80PVPSETS";
124 | "PVP80NONSETEPICS";
125 | "PvPNewTokens_x2";
126 | "PvP80UnSet1_x2";
127 | "GladiatorWeapons1_x2";
128 | };
129 |
130 | ArathiBasin = {
131 | "";
132 | "";
133 | "";
134 | "";
135 | "";
136 | "";
137 | "";
138 | "";
139 | "LEVEL80PVPSETS";
140 | "PVP80NONSETEPICS";
141 | "PvPNewTokens_x2";
142 | "PvP80UnSet1_x2";
143 | "GladiatorWeapons1_x2";
144 | };
145 |
146 | WarsongGulch = {
147 | "";
148 | "";
149 | "";
150 | "LEVEL80PVPSETS";
151 | "PVP80NONSETEPICS";
152 | "PvPNewTokens_x2";
153 | "PvP80UnSet1_x2";
154 | "GladiatorWeapons1_x2";
155 | };
156 | EyeOfTheStorm = {
157 | "";
158 | "";
159 | "";
160 | "";
161 | "";
162 | "";
163 | "";
164 | "";
165 | "";
166 | "LEVEL80PVPSETS";
167 | "PVP80NONSETEPICS";
168 | "PvPNewTokens_x2";
169 | "PvP80UnSet1_x2";
170 | "GladiatorWeapons1_x2";
171 | };
172 | StrandOfTheAncients = {
173 | "";
174 | "";
175 | "";
176 | "";
177 | "";
178 | "";
179 | "";
180 | "";
181 | "";
182 | "LEVEL80PVPSETS";
183 | "PVP80NONSETEPICS";
184 | "PvPNewTokens_x2";
185 | "PvP80UnSet1_x2";
186 | "GladiatorWeapons1_x2";
187 | };
188 | IsleOfConquest = {
189 | "";
190 | "";
191 | "";
192 | "";
193 | "";
194 | "";
195 | "";
196 | "";
197 | "";
198 | "";
199 | "";
200 | "";
201 | "";
202 | "";
203 | "LEVEL80PVPSETS";
204 | "PVP80NONSETEPICS";
205 | "PvPNewTokens_x2";
206 | "PvP80UnSet1_x2";
207 | "GladiatorWeapons1_x2";
208 | };
209 |
210 | TheTempleCityOfAlaWashte = {
211 | "";
212 | "";
213 | "";
214 | "";
215 | "";
216 | "";
217 | "";
218 | "";
219 | "LEVEL80PVPSETS";
220 | "PVP80NONSETEPICS";
221 | "PvPNewTokens_x2";
222 | "PvP80UnSet1_x2";
223 | "GladiatorWeapons1_x2";
224 | };
225 |
226 | TwinPeaks = {
227 | "";
228 | "";
229 | "";
230 | "";
231 | "";
232 | "LEVEL80PVPSETS";
233 | "PVP80NONSETEPICS";
234 | "PvPNewTokens_x2";
235 | "PvP80UnSet1_x2";
236 | "GladiatorWeapons1_x2";
237 | };
238 |
239 | TempleOfKotmogu = {
240 | "";
241 | "";
242 | "";
243 | "";
244 | "";
245 | "";
246 | "";
247 | "LEVEL80PVPSETS";
248 | "PVP80NONSETEPICS";
249 | "PvPNewTokens_x2";
250 | "PvP80UnSet1_x2";
251 | "GladiatorWeapons1_x2";
252 | };
253 | SlaveryValley = {
254 | "";
255 | "";
256 | "";
257 | "";
258 | "";
259 | "";
260 | "";
261 | "";
262 | "";
263 | "LEVEL80PVPSETS";
264 | "PVP80NONSETEPICS";
265 | "PvPNewTokens_x2";
266 | "PvP80UnSet1_x2";
267 | "GladiatorWeapons1_x2";
268 | };
269 | SilvershardMines = {
270 | "";
271 | "";
272 | "";
273 | "";
274 | "";
275 | "";
276 | "";
277 | "";
278 | "";
279 | "";
280 | "";
281 | "";
282 | "LEVEL80PVPSETS";
283 | "PVP80NONSETEPICS";
284 | "PvPNewTokens_x2";
285 | "PvP80UnSet1_x2";
286 | "GladiatorWeapons1_x2";
287 | };
288 | TheBattleForGilneas = {
289 | "";
290 | "";
291 | "";
292 | "";
293 | "";
294 | "";
295 | "LEVEL80PVPSETS";
296 | "PVP80NONSETEPICS";
297 | "PvPNewTokens_x2";
298 | "PvP80UnSet1_x2";
299 | "GladiatorWeapons1_x2";
300 | };
301 | };
302 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceLocale-3.0/AceLocale-3.0.lua:
--------------------------------------------------------------------------------
1 | --- **AceLocale-3.0** manages localization in addons, allowing for multiple locale to be registered with fallback to the base locale for untranslated strings.
2 | -- @class file
3 | -- @name AceLocale-3.0
4 | -- @release $Id: AceLocale-3.0.lua 895 2009-12-06 16:28:55Z nevcairiel $
5 | local MAJOR,MINOR = "AceLocale-3.0", 2
6 |
7 | local AceLocale, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
8 |
9 | if not AceLocale then return end -- no upgrade needed
10 |
11 | -- Lua APIs
12 | local assert, tostring, error = assert, tostring, error
13 | local setmetatable, rawset, rawget = setmetatable, rawset, rawget
14 |
15 | -- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
16 | -- List them here for Mikk's FindGlobals script
17 | -- GLOBALS: GAME_LOCALE, geterrorhandler
18 |
19 | local gameLocale = GetLocale()
20 | if gameLocale == "enGB" then
21 | gameLocale = "enUS"
22 | end
23 |
24 | AceLocale.apps = AceLocale.apps or {} -- array of ["AppName"]=localetableref
25 | AceLocale.appnames = AceLocale.appnames or {} -- array of [localetableref]="AppName"
26 |
27 | -- This metatable is used on all tables returned from GetLocale
28 | local readmeta = {
29 | __index = function(self, key) -- requesting totally unknown entries: fire off a nonbreaking error and return key
30 | rawset(self, key, key) -- only need to see the warning once, really
31 | geterrorhandler()(MAJOR..": "..tostring(AceLocale.appnames[self])..": Missing entry for '"..tostring(key).."'")
32 | return key
33 | end
34 | }
35 |
36 | -- This metatable is used on all tables returned from GetLocale if the silent flag is true, it does not issue a warning on unknown keys
37 | local readmetasilent = {
38 | __index = function(self, key) -- requesting totally unknown entries: return key
39 | rawset(self, key, key) -- only need to invoke this function once
40 | return key
41 | end
42 | }
43 |
44 | -- Remember the locale table being registered right now (it gets set by :NewLocale())
45 | -- NOTE: Do never try to register 2 locale tables at once and mix their definition.
46 | local registering
47 |
48 | -- local assert false function
49 | local assertfalse = function() assert(false) end
50 |
51 | -- This metatable proxy is used when registering nondefault locales
52 | local writeproxy = setmetatable({}, {
53 | __newindex = function(self, key, value)
54 | rawset(registering, key, value == true and key or value) -- assigning values: replace 'true' with key string
55 | end,
56 | __index = assertfalse
57 | })
58 |
59 | -- This metatable proxy is used when registering the default locale.
60 | -- It refuses to overwrite existing values
61 | -- Reason 1: Allows loading locales in any order
62 | -- Reason 2: If 2 modules have the same string, but only the first one to be
63 | -- loaded has a translation for the current locale, the translation
64 | -- doesn't get overwritten.
65 | --
66 | local writedefaultproxy = setmetatable({}, {
67 | __newindex = function(self, key, value)
68 | if not rawget(registering, key) then
69 | rawset(registering, key, value == true and key or value)
70 | end
71 | end,
72 | __index = assertfalse
73 | })
74 |
75 | --- Register a new locale (or extend an existing one) for the specified application.
76 | -- :NewLocale will return a table you can fill your locale into, or nil if the locale isn't needed for the players
77 | -- game locale.
78 | -- @paramsig application, locale[, isDefault[, silent]]
79 | -- @param application Unique name of addon / module
80 | -- @param locale Name of the locale to register, e.g. "enUS", "deDE", etc.
81 | -- @param isDefault If this is the default locale being registered (your addon is written in this language, generally enUS)
82 | -- @param silent If true, the locale will not issue warnings for missing keys. Can only be set on the default locale.
83 | -- @usage
84 | -- -- enUS.lua
85 | -- local L = LibStub("AceLocale-3.0"):NewLocale("TestLocale", "enUS", true)
86 | -- L["string1"] = true
87 | --
88 | -- -- deDE.lua
89 | -- local L = LibStub("AceLocale-3.0"):NewLocale("TestLocale", "deDE")
90 | -- if not L then return end
91 | -- L["string1"] = "Zeichenkette1"
92 | -- @return Locale Table to add localizations to, or nil if the current locale is not required.
93 | function AceLocale:NewLocale(application, locale, isDefault, silent)
94 |
95 | if silent and not isDefault then
96 | error("Usage: NewLocale(application, locale[, isDefault[, silent]]): 'silent' can only be specified for the default locale", 2)
97 | end
98 |
99 | -- GAME_LOCALE allows translators to test translations of addons without having that wow client installed
100 | -- Ammo: I still think this is a bad idea, for instance an addon that checks for some ingame string will fail, just because some other addon
101 | -- gives the user the illusion that they can run in a different locale? Ditch this whole thing or allow a setting per 'application'. I'm of the
102 | -- opinion to remove this.
103 | local gameLocale = GAME_LOCALE or gameLocale
104 |
105 | if locale ~= gameLocale and not isDefault then
106 | return -- nop, we don't need these translations
107 | end
108 |
109 | local app = AceLocale.apps[application]
110 |
111 | if not app then
112 | app = setmetatable({}, silent and readmetasilent or readmeta)
113 | AceLocale.apps[application] = app
114 | AceLocale.appnames[app] = application
115 | end
116 |
117 | registering = app -- remember globally for writeproxy and writedefaultproxy
118 |
119 | if isDefault then
120 | return writedefaultproxy
121 | end
122 |
123 | return writeproxy
124 | end
125 |
126 | --- Returns localizations for the current locale (or default locale if translations are missing).
127 | -- Errors if nothing is registered (spank developer, not just a missing translation)
128 | -- @param application Unique name of addon / module
129 | -- @param silent If true, the locale is optional, silently return nil if it's not found (defaults to false, optional)
130 | -- @return The locale table for the current language.
131 | function AceLocale:GetLocale(application, silent)
132 | if not silent and not AceLocale.apps[application] then
133 | error("Usage: GetLocale(application[, silent]): 'application' - No locales registered for '"..tostring(application).."'", 2)
134 | end
135 | return AceLocale.apps[application]
136 | end
137 |
--------------------------------------------------------------------------------
/AtlasLoot/Menus/PvPMenus.lua:
--------------------------------------------------------------------------------
1 | local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
2 | local BabbleBoss = AtlasLoot_GetLocaleLibBabble("LibBabble-Boss-3.0")
3 | local BabbleInventory = AtlasLoot_GetLocaleLibBabble("LibBabble-Inventory-3.0")
4 | local BabbleZone = AtlasLoot_GetLocaleLibBabble("LibBabble-Zone-3.0")
5 |
6 | AtlasLoot_Data["PVPMENU"] = {
7 | { 2, "LEVEL80PVPSETS", "inv_chest_cloth_81", "=ds="..AL["PvP Armor Sets"], "=q5="..AL["Level 80"], "" };
8 | { 3, "PVP80NONSETEPICS", "inv_bracer_51", "=ds="..AL["PvP Non-Set Epics"], "=q5="..AL["Level 80"]};
9 | { 4, "PvPNewTokens", "INV_Sword_06", "=ds=PvP Жетоны", "=q5="..AL["Level 80"]};
10 | { 7, "WINTERGRASPMENU", "INV_Misc_Platnumdisks", "=ds="..BabbleZone["Wintergrasp"], ""};
11 | { 8, "PVPMENU2", "INV_Jewelry_Necklace_21", "=ds="..AL["BG/Open PvP Rewards"], ""};
12 | { 17, "PvP80UnSet1", "INV_Jewelry_Necklace_36", "=ds="..AL["PvP Accessories"], "=q5="..AL["Level 80"]};
13 | { 18, "GladiatorWeapons1", "inv_axe_115", "=ds="..AL["Gladiator\'s Weapons"], "=q5="..AL["Level 80"] };
14 | { 22, "WillCircleMenu_x2", "Ability_Mount_HordePVPMount", "=ds="..AL["WillCircle"], ""};
15 | { 23, "RageSaddle", "achievement_bg_kill_on_mount", "=ds="..AL["RageSaddle"], ""};
16 | };
17 |
18 | AtlasLoot_Data["PVPRBG"] = {
19 | { 2, "PVPRBGSET", "inv_chest_cloth_77", "=ds="..AL["PvP RBG Transmogrification"]};
20 | { 17, "PVPRBGT2Weapons", "inv_axe_115", "=ds="..AL["Gladiator\'s Weapons"]};
21 | Back = "PVPMENU";
22 | };
23 |
24 | AtlasLoot_Data["PVPRBGSET"] = {
25 | { 3, "PVPDruid", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], ""};
26 | { 4, "PVPMage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
27 | { 5, "PVPPriest", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], ""};
28 | { 6, "PVPShaman", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], ""};
29 | { 7, "PVPWarrior", "INV_Shield_05", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
30 | { 18, "PVPHunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
31 | { 19, "PVPPaladin", "Spell_Holy_SealOfMight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], ""};
32 | { 20, "PVPRogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
33 | { 21, "PVPWarlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
34 | Back = "PVPRBG";
35 | };
36 |
37 | AtlasLoot_Data["PVPMENU2"] = {
38 | { 1, "Hellfire", "INV_Misc_Token_HonorHold", "=ds="..BabbleZone["Hellfire Peninsula"], "=q5="..AL["Hellfire Fortifications"]};
39 | { 2, "Zangarmarsh", "Spell_Nature_ElementalPrecision_1", "=ds="..BabbleZone["Zangarmarsh"], "=q5="..AL["Twin Spire Ruins"]};
40 | { 3, "AVMisc", "INV_Jewelry_Necklace_21", "=ds="..BabbleZone["Alterac Valley"], ""};
41 | { 5, "OtherPvPRewards", "Ability_mount_ridinghorse", "=ds="..AL["OtherPvPRewards"], ""};
42 | { 16, "Terokkar", "INV_Jewelry_FrostwolfTrinket_04", "=ds="..BabbleZone["Terokkar Forest"], "=q5="..AL["Spirit Towers"]};
43 | { 17, "Nagrand1", "INV_Misc_Rune_09", "=ds="..BabbleZone["Nagrand"], "=q5="..AL["Halaa"]};
44 | { 18, "VentureBay1", "INV_Misc_Coin_16", "=ds="..BabbleZone["Grizzly Hills"], "=q5="..AL["Venture Bay"]};
45 | { 20, "PvP80Misc", "INV_Scroll_06", "=ds="..AL["PvP Misc"], "=q5="..AL["Level 80"]};
46 | Back = "PVPMENU";
47 | };
48 |
49 | AtlasLoot_Data["PVP80NONSETEPICS"] = {
50 | { 2, "PvP80ClothNonSet0", "INV_Boots_Cloth_12", "=ds="..BabbleInventory["Cloth"], ""};
51 | { 3, "PvP80MailNonSet0", "INV_Boots_Plate_06", "=ds="..BabbleInventory["Mail"], ""};
52 | { 4, "PvP80ClassItems1", "Spell_Frost_SummonWaterElemental", "=ds="..BabbleInventory["Relic"], "" };
53 | { 17, "PvP80LeatherNonSet0", "INV_Boots_08", "=ds="..BabbleInventory["Leather"], ""};
54 | { 18, "PvP80PlateNonSet0", "INV_Boots_Plate_04", "=ds="..BabbleInventory["Plate"], ""};
55 | Back = "PVPMENU";
56 | };
57 |
58 | AtlasLoot_Data["LEVEL80PVPSETS"] = {
59 | { 2, "PvP80DeathKnight", "Spell_Deathknight_DeathStrike", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"], ""};
60 | { 4, "PvP80DruidBalance", "Spell_Nature_InsectSwarm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Balance"]};
61 | { 5, "PvP80DruidFeral", "Ability_Druid_Maul", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Feral"]};
62 | { 6, "PvP80DruidRestoration", "Spell_Nature_Regeneration", "=ds="..LOCALIZED_CLASS_NAMES_MALE["DRUID"], "=q5="..AL["Restoration"]};
63 | { 8, "PvP80Hunter", "Ability_Hunter_RunningShot", "=ds="..LOCALIZED_CLASS_NAMES_MALE["HUNTER"], ""};
64 | { 10, "PvP80Mage", "Spell_Frost_IceStorm", "=ds="..LOCALIZED_CLASS_NAMES_MALE["MAGE"], ""};
65 | { 12, "PvP80PaladinHoly", "Spell_Holy_HolyBolt", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Holy"]};
66 | { 13, "PvP80PaladinRetribution", "Spell_Holy_AuraOfLight", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PALADIN"], "=q5="..AL["Retribution"]};
67 | { 17, "PvP80PriestHoly", "Spell_Holy_PowerWordShield", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Holy"]};
68 | { 18, "PvP80PriestShadow", "Spell_Shadow_AntiShadow", "=ds="..LOCALIZED_CLASS_NAMES_MALE["PRIEST"], "=q5="..AL["Shadow"]};
69 | { 20, "PvP80Rogue", "Ability_BackStab", "=ds="..LOCALIZED_CLASS_NAMES_MALE["ROGUE"], ""};
70 | { 22, "PvP80ShamanElemental", "Spell_Nature_Lightning", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Elemental"]};
71 | { 23, "PvP80ShamanEnhancement", "Spell_FireResistanceTotem_01", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Enhancement"]};
72 | { 24, "PvP80ShamanRestoration", "Spell_Nature_HealingWaveGreater", "=ds="..LOCALIZED_CLASS_NAMES_MALE["SHAMAN"], "=q5="..AL["Restoration"]};
73 | { 26, "PvP80Warlock", "Spell_Shadow_CurseOfTounges", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARLOCK"], ""};
74 | { 28, "PvP80Warrior", "Ability_Warrior_BattleShout", "=ds="..LOCALIZED_CLASS_NAMES_MALE["WARRIOR"], ""};
75 | Back = "PVPMENU";
76 | };
77 |
78 | AtlasLoot_Data["WINTERGRASPMENU"] = {
79 | { 2, "LakeWintergrasp2", "inv_helmet_136", "=ds="..BabbleInventory["Cloth"], ""};
80 | { 3, "LakeWintergrasp3", "INV_Helmet_141", "=ds="..BabbleInventory["Leather"], ""};
81 | { 4, "LakeWintergrasp4", "INV_Helmet_138", "=ds="..BabbleInventory["Mail"], ""};
82 | { 5, "LakeWintergrasp5", "inv_helmet_134", "=ds="..BabbleInventory["Plate"], ""};
83 | { 17, "LakeWintergrasp1", "inv_misc_rune_11", "=ds="..AL["Accessories"], ""};
84 | { 18, "LakeWintergrasp6", "inv_sword_19", "=ds="..AL["Heirloom"], ""};
85 | { 19, "LakeWintergrasp7", "inv_jewelcrafting_icediamond_02", "=ds="..AL["PVP Gems/Enchants/Jewelcrafting Designs"], ""};
86 | { 20, "LakeWintergrasp8", "Ability_Mount_AlliancePVPMount", "=ds="..AL["WGMounts"], ""};
87 | Back = "PVPMENU";
88 | };
89 |
90 |
--------------------------------------------------------------------------------
/AtlasLoot/TableRegister/loottables.tw.lua:
--------------------------------------------------------------------------------
1 | --[[
2 | -- Translated and maintained by Arith Hsu (arithmandarjp at yahoo.co.jp)
3 | -- Last Updated: Mar. 25, 2008
4 | --]]
5 | if (GetLocale() == "zhTW") then
6 | -----------------------
7 | --- WotLK Instances ---
8 | -----------------------
9 |
10 | -- Keys
11 | AtlasLoot_TableNames["WrathKeys"][1] = "鑰匙";
12 | -- Utgarde Keep
13 | -- The Nexus
14 | -- Azjol-Nerub
15 | -- Ahn'kahet: The Old Kingdom
16 | -- Drak'Tharon Keep
17 | -- The Violet Hold
18 | -- Gundrak
19 | -- Halls of Stone
20 | -- Halls of Lightning
21 | -- Caverns of Time: Old Stratholme
22 | -- Utgarde Pinnacle
23 | -- The Oculus
24 | -- Vault of Archavon
25 | -- Naxxramas Level 80
26 | -- Obsidian Sanctum
27 | -- The Eye of Eternity
28 | -- Ulduar
29 | -- Trial of the Champion
30 | -- Trial of the Crusader
31 | -- Trial of the Grand Crusader
32 | -- Onyxia (Level 80)
33 | -- The Forge of Souls
34 | -- Pit of Saron
35 | -- Halls of Reflection
36 | -- Icecrown Citadel
37 | -- Icecrown Citadel HEROIC
38 | -- Ruby Sanctum
39 | AtlasLoot_TableNames["Halion"][1] = "海萊恩";
40 | AtlasLoot_TableNames["HalionHEROIC"][1] = "海萊恩";
41 | AtlasLoot_TableNames["Halion25Man"][1] = "海萊恩";
42 | AtlasLoot_TableNames["Halion25ManHEROIC"][1] = "海萊恩";
43 |
44 | --------------------
45 | --- BC Instances ---
46 | --------------------
47 |
48 | -- Keys
49 | AtlasLoot_TableNames["BCKeys"][1] = "鑰匙";
50 | -- Auch: Auchenai Crypts
51 | -- Auch: Mana-Tombs
52 | -- Auch: Sethekk Halls
53 | -- Auch: Shadow Labyrinth
54 | --The Black Temple
55 | AtlasLoot_TableNames["BTEssencofSouls"][1] = "靈魂精華";
56 | AtlasLoot_TableNames["BTPatterns"][1] = "黑暗神廟卷軸";
57 | -- CFR: Serpentshrine Cavern
58 | -- CFR: Slave Pens
59 | -- CFR: The Steamvault
60 | -- CFR: The Underbog
61 | -- CoT: Old Hillsbrad Foothills
62 | -- CoT: Black Morass
63 | -- CoT: Hyjal Summit
64 | -- Gruul's Lair
65 | -- HC: Blood Furnace
66 | -- HC: Magtheridon's Lair
67 | -- HC: Ramparts
68 | -- HC: Shattered Halls
69 | -- Karazhan
70 | AtlasLoot_TableNames["KaraCharredBoneFragment"][1] = "燒焦的白骨碎片 (任務物品)";
71 | AtlasLoot_TableNames["KaraNamed"][1] = "僕人居所動物王";
72 | AtlasLoot_TableNames["KaraKeannaLog"][1] = "琪安娜的日誌 (任務物品)";
73 | AtlasLoot_TableNames["KaraOperaEvent"][1] = "歌劇事件";
74 | -- Sunwell Isle: Magister's Terrace
75 | -- Sunwell Isle: Sunwell Plateau
76 | AtlasLoot_TableNames["SPPatterns"][1] = "太陽之井高地卷軸";
77 | -- TK: The Arcatraz
78 | -- TK: The Botanica
79 | --TK: The Eye
80 | AtlasLoot_TableNames["TKEyeLegendaries"][1] = "凱爾薩斯·逐日者史詩物品";
81 | -- TK: The Mechanar
82 | --Zul'Aman
83 | AtlasLoot_TableNames["ZATimedChest"][1] = "限時任務獎勵寶箱";
84 |
85 | -------------------------
86 | --- Classic Instances ---
87 | -------------------------
88 |
89 | -- Keys
90 | AtlasLoot_TableNames["OldKeys"][1] = "鑰匙";
91 | -- Blackrock Depths
92 | AtlasLoot_TableNames["BRDArena"][1] = "競技場";
93 | AtlasLoot_TableNames["BRDForgewright"][1] = "弗蘭克羅恩·鑄鐵的雕像";
94 | AtlasLoot_TableNames["BRDGuzzler"][1] = "黑鐵酒吧";
95 | AtlasLoot_TableNames["BRDTomb"][1] = "召喚者之墓";
96 | AtlasLoot_TableNames["BRDBSPlans"][1] = "黑鐵鍛造圖樣 (黑石深淵)";
97 | -- Lower Blackrock Spire
98 | -- Upper Blackrock Spire
99 | -- Blackwing Lair
100 | -- The Deadmines
101 | -- Dire Maul East
102 | AtlasLoot_TableNames["DMBooks"][1] = "厄運書籍";
103 | -- Dire Maul North
104 | -- Dire Maul West
105 | -- Gnomeregan
106 | -- Maraudon
107 | -- Molten Core
108 | AtlasLoot_TableNames["MCRANDOMBOSSDROPPS"][1] = "首領隨機掉落";
109 | -- Ragefire Chasm
110 | -- Razorfen Downs
111 | -- Razorfen Kraul
112 | -- The Ruins of Ahn'Qiraj
113 | AtlasLoot_TableNames["AQ20ClassBooks"][1] = "AQ 職業書籍";
114 | AtlasLoot_TableNames["AQEnchants"][1] = "AQ 公式";
115 | -- Scarlet Monestery
116 | -- Scholomance
117 | -- Shadowfang Keep
118 | -- The Stockade
119 | -- Stratholme
120 | AtlasLoot_TableNames["STRATStratholmeCourier"][1] = "郵箱鑰匙";
121 | AtlasLoot_TableNames["STRATAtiesh"][1] = "阿泰絲 <薩格拉斯之手>";
122 | AtlasLoot_TableNames["STRATBSPlansSerenity"][1] = "設計圖:平靜";
123 | AtlasLoot_TableNames["STRATBSPlansCorruption"][1] = "設計圖:腐蝕";
124 | -- Sunken Temple
125 | AtlasLoot_TableNames["STSpawnOfHakkar"][1] = "哈卡的後代";
126 | AtlasLoot_TableNames["STTrollMinibosses"][1] = "食人妖小首領";
127 | -- Temple of Ahn'Qiraj
128 | AtlasLoot_TableNames["AQOpening"][1] = "安其拉開門系列任務";
129 | -- Uldaman
130 | AtlasLoot_TableNames["UldTabletofRyuneh"][1] = "雷烏納石板";
131 | AtlasLoot_TableNames["UldTabletofWill"][1] = "意志石板";
132 | AtlasLoot_TableNames["UldShadowforgeCache"][1] = "暗影熔爐地窖";
133 | -- Wailing Caverns
134 | -- Zul'Farrak
135 | -- Zul'Gurub
136 | AtlasLoot_TableNames["ZGMuddyChurningWaters"][1] = "混濁的水";
137 | AtlasLoot_TableNames["ZGShared"][1] = "ZG首領隨機掉落";
138 | AtlasLoot_TableNames["ZGEnchants"][1] = "ZG 公式";
139 |
140 | ------------
141 | --- Sets ---
142 | ------------
143 |
144 | ------------------------
145 | --- Misc Collections ---
146 | ------------------------
147 |
148 | --------------------
149 | --- World Bosses ---
150 | --------------------
151 |
152 | AtlasLoot_TableNames["BlizzardCollectables1"][1] = "暴雪特殊收藏品";
153 | AtlasLoot_TableNames["RareMounts1"][1] = "稀有坐騎 - 原魔獸世界";
154 | AtlasLoot_TableNames["RareMounts2"][1] = "稀有坐騎 - 燃燒的遠征";
155 |
156 | --------------
157 | --- Events ---
158 | --------------
159 |
160 | --Abyssal Council
161 | AtlasLoot_TableNames["Templars"][1] = "深淵議會 - 聖殿騎士";
162 | AtlasLoot_TableNames["Dukes"][1] = "深淵議會 - 公爵";
163 | AtlasLoot_TableNames["HighCouncil"][1] = "深淵議會 - 高階議會";
164 | --Seasonal
165 | AtlasLoot_TableNames["Winterviel2"][1] = "冬幕節禮物";
166 | --Skettis
167 | AtlasLoot_TableNames["SkettisTalonpriestIshaal"][1] = "魔爪祭司艾夏歐";
168 | AtlasLoot_TableNames["SkettisHazziksPackage"][1] = "海茲克的包裹";
169 |
170 | ------------------------
171 | --- Classic Factions ---
172 | ------------------------
173 | --Argent Dawn
174 | AtlasLoot_TableNames["Argent1"][1] = "銀色黎明: 徽記兌換";
175 |
176 | -------------------
177 | --- BC Factions ---
178 | -------------------
179 | --Exalted with Cenarion Expedition, The Sha'tar and The Aldor/Scryers
180 | AtlasLoot_TableNames["ShattrathFlasks1"][1] = "撒塔斯藥劑";
181 |
182 | ----------------------
183 | --- WotLK Factions ---
184 | ----------------------
185 |
186 | --------------
187 | --- Trades ---
188 | --------------
189 |
190 | -----------
191 | --- PvP ---
192 | -----------
193 |
194 | -------------
195 | --- Other ---
196 | -------------
197 |
198 | -- Menus, the entry does nothing, but makes the generalised loot table code less complex
199 |
200 | -- If all else fails!
201 |
202 | end
203 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/LibAboutPanel.lua:
--------------------------------------------------------------------------------
1 | --[[
2 |
3 | ****************************************************************************************
4 | LibAboutPanel
5 |
6 | File date: 2009-06-23T02:04:30Z
7 | Project version: v1.43
8 |
9 | Author: Tekkub, Ackis
10 |
11 | ****************************************************************************************
12 |
13 | ]]--
14 |
15 | local lib, oldminor = LibStub:NewLibrary("LibAboutPanel", 2)
16 | if not lib then return end
17 |
18 | local GAME_LOCALE = GetLocale()
19 |
20 | local L = {}
21 |
22 | function lib.new(parent, addonname)
23 | local frame = CreateFrame("Frame", nil, UIParent)
24 | frame.name, frame.parent, frame.addonname = not parent and gsub(addonname," ","") or L["About"], parent, gsub(addonname," ","") -- Remove spaces from addonname because GetMetadata doesn't like that
25 | frame:Hide()
26 | frame:SetScript("OnShow", lib.OnShow)
27 | InterfaceOptions_AddCategory(frame)
28 | return frame
29 | end
30 |
31 | -- frFR
32 | if GAME_LOCALE == "frFR" then
33 | L["About"] = "à propos de"
34 | L["Click and press Ctrl-C to copy"] = "Click and press Ctrl-C to copy"
35 | -- deDE
36 | elseif GAME_LOCALE == "deDE" then
37 | L["About"] = "Über"
38 | L["Click and press Ctrl-C to copy"] = "Klicken und Strg-C drücken zum kopieren"
39 | -- esES
40 | elseif GAME_LOCALE == "esES" then
41 | L["About"] = "Acerca de"
42 | L["Click and press Ctrl-C to copy"] = "Click and press Ctrl-C to copy"
43 | -- esMX
44 | elseif GAME_LOCALE == "esMX" then
45 | L["About"] = "Sobre"
46 | L["Click and press Ctrl-C to copy"] = "Click and press Ctrl-C to copy"
47 | -- koKR
48 | elseif GAME_LOCALE == "koKR" then
49 | L["About"] = "대하여"
50 | L["Click and press Ctrl-C to copy"] = "Click and press Ctrl-C to copy"
51 | -- ruRU
52 | elseif GAME_LOCALE == "ruRU" then
53 | L["About"] = "Об аддоне"
54 | L["Click and press Ctrl-C to copy"] = "Кликните и нажмите Ctrl-C чтобы скопировать"
55 | L["Version"] = "Версия"
56 | L["Author"] = "Авторы"
57 | L["X-Category"] = "Категория"
58 | L["X-License"] = "Лицензия"
59 | L["X-Email"] = "Почта"
60 | L["X-Website"] = "Сайт"
61 | L["X-Credits"] = "Спасибо"
62 | -- zhCN
63 | elseif GAME_LOCALE == "zhCN" then
64 | L["About"] = "关于"
65 | L["Click and press Ctrl-C to copy"] = "点击并 Ctrl-C 复制"
66 | -- zhTW
67 | elseif GAME_LOCALE == "zhTW" then
68 | L["About"] = "關於"
69 | L["Click and press Ctrl-C to copy"] = "點擊並 Ctrl-C 復制"
70 | -- enUS and non-localized
71 | else
72 | L["About"] = "About"
73 | L["Click and press Ctrl-C to copy"] = "Click and press Ctrl-C to copy"
74 | end
75 |
76 | local editbox = CreateFrame('EditBox', nil, UIParent)
77 | editbox:Hide()
78 | editbox:SetAutoFocus(true)
79 | editbox:SetHeight(32)
80 | editbox:SetFontObject('GameFontHighlightSmall')
81 | lib.editbox = editbox
82 |
83 | local left = editbox:CreateTexture(nil, "BACKGROUND")
84 | left:SetWidth(8) left:SetHeight(20)
85 | left:SetPoint("LEFT", -5, 0)
86 | left:SetTexture("Interface\\Common\\Common-Input-Border")
87 | left:SetTexCoord(0, 0.0625, 0, 0.625)
88 |
89 | local right = editbox:CreateTexture(nil, "BACKGROUND")
90 | right:SetWidth(8) right:SetHeight(20)
91 | right:SetPoint("RIGHT", 0, 0)
92 | right:SetTexture("Interface\\Common\\Common-Input-Border")
93 | right:SetTexCoord(0.9375, 1, 0, 0.625)
94 |
95 | local center = editbox:CreateTexture(nil, "BACKGROUND")
96 | center:SetHeight(20)
97 | center:SetPoint("RIGHT", right, "LEFT", 0, 0)
98 | center:SetPoint("LEFT", left, "RIGHT", 0, 0)
99 | center:SetTexture("Interface\\Common\\Common-Input-Border")
100 | center:SetTexCoord(0.0625, 0.9375, 0, 0.625)
101 |
102 | editbox:SetScript("OnEscapePressed", editbox.ClearFocus)
103 | editbox:SetScript("OnEnterPressed", editbox.ClearFocus)
104 | editbox:SetScript("OnEditFocusLost", editbox.Hide)
105 | editbox:SetScript("OnEditFocusGained", editbox.HighlightText)
106 | editbox:SetScript("OnTextChanged", function(self)
107 | self:SetText(self:GetParent().val)
108 | self:HighlightText()
109 | end)
110 |
111 |
112 | function lib.OpenEditbox(self)
113 | editbox:SetText(self.val)
114 | editbox:SetParent(self)
115 | editbox:SetPoint("LEFT", self)
116 | editbox:SetPoint("RIGHT", self)
117 | editbox:Show()
118 | end
119 |
120 |
121 | local fields = {"Version", "Author", "X-Category", "X-License", "X-Email", "Email", "eMail", "X-Website", "X-Credits", "X-Localizations", "X-Donate"}
122 |
123 | local function HideTooltip() GameTooltip:Hide() end
124 |
125 | local function ShowTooltip(self)
126 | GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT")
127 | GameTooltip:SetText(L["Click and press Ctrl-C to copy"])
128 | --GameTooltip:SetText("Click and press Ctrl-C to copy")
129 | end
130 |
131 | function lib.OnShow(frame)
132 |
133 | local notefield = "Notes"
134 |
135 | if (GAME_LOCALE ~= "enUS") then
136 | notefield = notefield .. "-" .. GAME_LOCALE
137 | end
138 |
139 | -- Get the localized version of notes if it exists or fall back to the english one.
140 | local notes = GetAddOnMetadata(frame.addonname, notefield) or GetAddOnMetadata(frame.addonname, "Notes")
141 |
142 | local title = frame:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
143 | title:SetPoint("TOPLEFT", 16, -16)
144 | title:SetText(frame.parent and (frame.parent.." - " .. L["About"]) or frame.name)
145 |
146 | local subtitle = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
147 | subtitle:SetFont("Fonts\\FRIZQT__.TTF", 12)
148 | subtitle:SetHeight(32)
149 | subtitle:SetPoint("TOPLEFT", title, "BOTTOMLEFT", 0, -8)
150 | subtitle:SetPoint("RIGHT", frame, -32, 0)
151 | subtitle:SetNonSpaceWrap(true)
152 | subtitle:SetJustifyH("LEFT")
153 | subtitle:SetJustifyV("TOP")
154 | subtitle:SetText(notes)
155 |
156 | local anchor
157 | for _,field in pairs(fields) do
158 | local val = GetAddOnMetadata(frame.addonname, field)
159 | if val then
160 | local title = frame:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
161 | title:SetFont("Fonts\\FRIZQT__.TTF", 12)
162 | title:SetWidth(75)
163 | if not anchor then title:SetPoint("TOPLEFT", subtitle, "BOTTOMLEFT", -2, -12)
164 | else title:SetPoint("TOPLEFT", anchor, "BOTTOMLEFT", 0, -25) end
165 | title:SetJustifyH("RIGHT")
166 |
167 | title:SetText(field:gsub("X%-", ""))
168 |
169 | field = L[field]
170 | title:SetText(field)
171 |
172 | local haseditbox = {["Сайт"] = true, ["Почта"] = true, ["X-Donate"] = true, ["Email"] = true, ["eMail"] = true}
173 |
174 | local detail = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
175 | detail:SetFont("Fonts\\FRIZQT__.TTF", 12)
176 | detail:SetHeight(32)
177 | detail:SetPoint("LEFT", title, "RIGHT", 4, 0)
178 | detail:SetPoint("RIGHT", frame, -16, 0)
179 | detail:SetJustifyH("LEFT")
180 |
181 | if (field == "Author") then
182 | local authorservername = GetAddOnMetadata(frame.addonname, "X-Author-Server")
183 | local authorfaction = GetAddOnMetadata(frame.addonname, "X-Author-Faction")
184 |
185 | if authorservername and authorfaction then
186 | detail:SetText((haseditbox[field] and "|cff9999ff" or "").. val .. " on " .. authorservername .. " (" .. authorfaction .. ")")
187 | elseif authorservername and not authorfaction then
188 | detail:SetText((haseditbox[field] and "|cff9999ff" or "").. val .. " on " .. authorservername)
189 | elseif not authorservername and authorfaction then
190 | detail:SetText((haseditbox[field] and "|cff9999ff" or "").. val .. " (" .. authorfaction .. ")")
191 | else
192 | detail:SetText((haseditbox[field] and "|cff9999ff" or "").. val)
193 | end
194 | elseif (field == "Version") then
195 | local addonversion = GetAddOnMetadata(frame.addonname, field)
196 | -- Remove @project-revision@ and replace it with Repository
197 | addonversion = string.gsub(addonversion,"@project.revision@","Repository")
198 | detail:SetText((haseditbox[field] and "|cff9999ff" or "").. addonversion)
199 | else
200 | detail:SetText((haseditbox[field] and "|cff9999ff" or "").. val)
201 | end
202 |
203 | if haseditbox[field] then
204 | local button = CreateFrame("Button", nil, frame)
205 | button:SetAllPoints(detail)
206 | button.val = val
207 | button:SetScript("OnClick", lib.OpenEditbox)
208 | button:SetScript("OnEnter", ShowTooltip)
209 | button:SetScript("OnLeave", HideTooltip)
210 | end
211 |
212 | anchor = title
213 | end
214 | end
215 |
216 | end
--------------------------------------------------------------------------------
/AtlasLoot/about.lua:
--------------------------------------------------------------------------------
1 | -- local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot");
2 |
3 | local GREY = "|cff999999";
4 | local RED = "|cffff0000";
5 | local WHITE = "|cffFFFFFF";
6 | local GREEN = "|cff1eff00";
7 | local PURPLE = "|cff9F3FFF";
8 | local BLUE = "|cff0070dd";
9 | local ORANGE = "|cffFF8400";
10 | local BLACK = "|cff000000";
11 | local GOLD = "|cffFFD700";
12 |
13 | function AtlasLoot_DisplayInfo()
14 |
15 | local ALframewidth = InterfaceOptionsFramePanelContainer:GetWidth()
16 | local ALframeheight = InterfaceOptionsFramePanelContainer:GetHeight()
17 | if not getglobal("AtlasLootAboutFrame_Panel") then
18 |
19 |
20 | local InfoPanel = CreateFrame("Frame", "AtlasLootAboutFrame_Panel", AtlasLootAboutFrame)
21 | InfoPanel:SetPoint("TOPLEFT", AtlasLootAboutFrame, "TOPLEFT", 10, -70)
22 | InfoPanel:SetWidth(ALframewidth-25)
23 | InfoPanel:SetHeight(ALframeheight-100)
24 | InfoPanel:SetBackdrop({bgFile="Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="", tile = false, tileSize = 0, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 }})
25 |
26 | local Subtitle = AtlasLootAboutFrame:CreateFontString("AtlasLootAboutFrame_Subtitle", "OVERLAY", "GameFontNormal")
27 | Subtitle:SetFont("Fonts\\FRIZQT__.TTF", 12)
28 | Subtitle:SetPoint("TOP", 50, -40)
29 | Subtitle:SetWidth(AtlasLootAboutFrame:GetWidth()-10)
30 | Subtitle:SetJustifyH("LEFT")
31 | Subtitle:SetJustifyV("TOP")
32 | Subtitle:SetText(WHITE.."Отображает всю возможную добычу и даже больше!")
33 |
34 | local TextPanel = CreateFrame("Frame", "AtlasLootAboutFrame_TextPanel", AtlasLootAboutFrame_Panel)
35 | TextPanel:SetPoint("LEFT", InfoPanel, 0, -10)
36 | TextPanel:SetWidth(75)
37 | TextPanel:SetHeight(350)
38 | --TextPanel:SetBackdrop({bgFile="Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="", tile = false, tileSize = 0, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 }})
39 |
40 | local text = TextPanel:CreateFontString("AtlasLootAboutFrame_Text", "OVERLAY", "GameFontNormal")
41 | text:SetFont("Fonts\\FRIZQT__.TTF", 13)
42 | text:SetPoint("TOP", TextPanel, 0, -30)
43 | text:SetWidth(TextPanel:GetWidth()-10)
44 | text:SetJustifyH("RIGHT")
45 | text:SetJustifyV("TOP")
46 | -- text:SetSpacing(5)
47 | text:SetText(GOLD.."Версия\n\n\nАвторы\n\n\n\nКатегория\n\n\nЛицензия\n\n\nСпасибо\n\n\n\nСайт")
48 |
49 |
50 | local TextPanel2 = CreateFrame("Frame", "AtlasLootAboutFrame_TextPanel2", AtlasLootAboutFrame_Panel)
51 | TextPanel2:SetPoint("LEFT", AtlasLootAboutFrame_TextPanel, 100, 0)
52 | TextPanel2:SetWidth(AtlasLootAboutFrame_Panel:GetWidth() - AtlasLootAboutFrame_TextPanel:GetWidth() - 50)
53 | TextPanel2:SetHeight(350)
54 | --TextPanel2:SetBackdrop({bgFile="Interface\\DialogFrame\\UI-DialogBox-Background", edgeFile="", tile = false, tileSize = 0, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 }})
55 |
56 | local text2 = TextPanel2:CreateFontString("AtlasLootAboutFrame_Text2", "OVERLAY", "GameFontNormal")
57 | text2:SetFont("Fonts\\FRIZQT__.TTF", 13)
58 | text2:SetPoint("TOP", TextPanel2, 0, -30)
59 | text2:SetWidth(TextPanel2:GetWidth()-10)
60 | text2:SetJustifyH("LEFT")
61 | text2:SetJustifyV("TOP")
62 | --text2:SetSpacing(5)
63 | text2:SetText(
64 | WHITE..GetAddOnMetadata("AtlasLoot", "Version").."\n\n\n"..
65 | GetAddOnMetadata("AtlasLoot", "Author").."\n\n"..
66 | GetAddOnMetadata("AtlasLoot", "X-Category").."\n\n\n"..
67 | GetAddOnMetadata("AtlasLoot", "X-License").."\n\n\n Mysterium, за модификацию Аддона \n\n\n"..BLUE.."https://forum.sirus.su/threads/atlasloot-sirus.86804/" --
68 | )
69 |
70 | local tooltip = CreateFrame("GameTooltip", "AtlasLootAboutCheckButtonT", nil, "GameTooltipTemplate")
71 |
72 | local f = CreateFrame("Frame", "ALAboutEditBox", TextPanel2)
73 | f:SetPoint("BOTTOM", AtlasLootAboutFrame_TextPanel, 0, 80)
74 | f:SetSize(TextPanel2:GetWidth() - 20, 25)
75 | f:Show()
76 |
77 | -- ScrollFrame
78 | local sf = CreateFrame("ScrollFrame", "ALAboutEditBoxScrollFrame", ALAboutEditBox)
79 | sf:SetPoint("LEFT", 0, 0)
80 | sf:SetPoint("RIGHT", 0, 0)
81 | sf:SetPoint("TOP", 5, 0)
82 | sf:SetSize(f:GetWidth(), f:GetHeight())
83 |
84 | AtlasLootAboutButton = CreateFrame("Button", "AtlasLootAboutWebButton", ALAboutEditBoxScrollFrame)
85 | AtlasLootAboutButton:SetPoint("CENTER", 0, -5)
86 | AtlasLootAboutButton:SetWidth(ALAboutEditBox:GetWidth())
87 | AtlasLootAboutButton:SetHeight(ALAboutEditBox:GetHeight() + 10)
88 |
89 | AtlasLootAboutButton:SetScript("OnEnter", function(self)
90 | tooltip:SetOwner(self, "ANCHOR_TOPRIGHT", 0, 0)
91 | tooltip:SetText("Кликните и нажмите Ctrl-C чтобы скопировать", nil, nil, nil, nil, true)
92 | tooltip:Show()
93 | end)
94 |
95 | AtlasLootAboutButton:SetScript("OnLeave", function(self)
96 | tooltip:Hide()
97 | end)
98 |
99 | AtlasLootAboutButton:SetScript("OnClick", function(self)
100 | self:Hide()
101 | ALAboutEditBox2:HighlightText()
102 | ALAboutEditBox2:Show()
103 | end)
104 |
105 | -- EditBox
106 | local eb = CreateFrame("EditBox", "ALAboutEditBox2", ALAboutEditBoxScrollFrame)
107 | eb:SetText(GetAddOnMetadata("AtlasLoot", "X-Website"))
108 | eb:SetSize(sf:GetSize())
109 | eb:SetMultiLine(false)
110 | eb:SetFontObject("ChatFontNormal")
111 | eb:SetJustifyH("CENTER")
112 | eb:SetJustifyV("TOP")
113 | eb:Hide()
114 |
115 | local left = eb:CreateTexture(nil, "BACKGROUND")
116 | left:SetWidth(8)
117 | left:SetHeight(20)
118 | left:SetPoint("LEFT", 0, 0)
119 | left:SetTexture("Interface\\Common\\Common-Input-Border")
120 | left:SetTexCoord(0, 0.0625, 0, 0.625)
121 |
122 | local right = eb:CreateTexture(nil, "BACKGROUND")
123 | right:SetWidth(8)
124 | right:SetHeight(20)
125 | right:SetPoint("RIGHT", 0, 0)
126 | right:SetTexture("Interface\\Common\\Common-Input-Border")
127 | right:SetTexCoord(0.9375, 1, 0, 0.625)
128 |
129 | local center = eb:CreateTexture(nil, "BACKGROUND")
130 | center:SetHeight(20)
131 | center:SetPoint("RIGHT", right, "LEFT", 0, 0)
132 | center:SetPoint("LEFT", left, "RIGHT", 0, 0)
133 | center:SetTexture("Interface\\Common\\Common-Input-Border")
134 | center:SetTexCoord(0.0625, 0.9375, 0, 0.625)
135 |
136 |
137 | eb:SetScript("OnEscapePressed", function()
138 | eb:ClearFocus()
139 | eb:Hide()
140 | AtlasLootAboutButton:Show()
141 | end)
142 |
143 | eb:SetScript("OnEnterPressed", function()
144 | eb:ClearFocus()
145 | eb:Hide()
146 | AtlasLootAboutButton:Show()
147 | end)
148 |
149 | eb:SetScript("OnEditFocusLost", function()
150 | eb:ClearFocus()
151 | eb:Hide()
152 | AtlasLootAboutButton:Show()
153 | end)
154 |
155 | eb:SetScript("OnEditFocusGained", function()
156 | ALAboutEditBox2:HighlightText()
157 | end)
158 |
159 | eb:SetScript("OnTextChanged", function()
160 | eb:SetText(GetAddOnMetadata("AtlasLoot", "X-Website"))
161 | eb:HighlightText()
162 | end)
163 |
164 | sf:SetScrollChild(eb)
165 |
166 | end
167 |
168 |
169 |
170 |
171 | getglobal("AtlasLootAboutFrame_Panel"):SetWidth(ALframewidth-25) --panel3 width
172 | getglobal("AtlasLootAboutFrame_Panel"):SetHeight(ALframeheight-100) --panel3 height
173 | getglobal("AtlasLootAboutFrame_Subtitle"):SetWidth(AtlasLootAboutFrame:GetWidth()-10)
174 | getglobal("AtlasLootAboutFrame_Subtitle"):SetPoint("TOP", 50, -40)
175 | getglobal("AtlasLootAboutFrame_TextPanel2"):SetWidth(AtlasLootAboutFrame_Panel:GetWidth() - AtlasLootAboutFrame_TextPanel:GetWidth() - 50)
176 | getglobal("AtlasLootAboutFrame_Text2"):SetWidth(AtlasLootAboutFrame_TextPanel2:GetWidth()-10)
177 | getglobal("ALAboutEditBox"):SetSize(AtlasLootAboutFrame_TextPanel2:GetWidth() - 20, 25)
178 | getglobal("ALAboutEditBox"):SetPoint("BOTTOM", AtlasLootAboutFrame_TextPanel2, 0, 80)
179 | getglobal("ALAboutEditBoxScrollFrame"):SetSize(ALAboutEditBox:GetWidth(), ALAboutEditBox:GetHeight())
180 | getglobal("ALAboutEditBox2"):SetSize(ALAboutEditBoxScrollFrame:GetSize())
181 |
182 | if getglobal("BetterBlizzOptionsResizeGrip") ~= nil then
183 | getglobal("BetterBlizzOptionsResizeGrip"):SetScript("OnMouseUp", function(self)
184 | self:GetParent():StopMovingOrSizing()
185 | ALframewidth = InterfaceOptionsFramePanelContainer:GetWidth()
186 | ALframeheight = InterfaceOptionsFramePanelContainer:GetHeight()
187 |
188 | getglobal("AtlasLootAboutFrame_Panel"):SetWidth(ALframewidth-25) --panel3 width
189 | getglobal("AtlasLootAboutFrame_Panel"):SetHeight(ALframeheight-100) --panel3 height
190 | getglobal("AtlasLootAboutFrame_Subtitle"):SetWidth(AtlasLootAboutFrame:GetWidth()-10)
191 | getglobal("AtlasLootAboutFrame_Subtitle"):SetPoint("TOP", 50, -40)
192 | getglobal("AtlasLootAboutFrame_TextPanel2"):SetWidth(AtlasLootAboutFrame_Panel:GetWidth() - AtlasLootAboutFrame_TextPanel:GetWidth() - 50)
193 | getglobal("AtlasLootAboutFrame_Text2"):SetWidth(AtlasLootAboutFrame_TextPanel2:GetWidth()-10)
194 | getglobal("ALAboutEditBox"):SetSize(AtlasLootAboutFrame_TextPanel2:GetWidth() - 20, 25)
195 | getglobal("ALAboutEditBox"):SetPoint("BOTTOM", AtlasLootAboutFrame_TextPanel2, 0, 80)
196 | getglobal("ALAboutEditBoxScrollFrame"):SetSize(ALAboutEditBox:GetWidth(), ALAboutEditBox:GetHeight())
197 | getglobal("ALAboutEditBox2"):SetSize(ALAboutEditBoxScrollFrame:GetSize())
198 | end)
199 | end
200 | end
201 |
202 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Boss-3.0/LibBabble-3.0.lua:
--------------------------------------------------------------------------------
1 | -- LibBabble-3.0 is hereby placed in the Public Domain
2 | -- Credits: ckknight
3 | local LIBBABBLE_MAJOR, LIBBABBLE_MINOR = "LibBabble-3.0", 2
4 |
5 | local LibBabble = LibStub:NewLibrary(LIBBABBLE_MAJOR, LIBBABBLE_MINOR)
6 | if not LibBabble then
7 | return
8 | end
9 |
10 | local data = LibBabble.data or {}
11 | for k,v in pairs(LibBabble) do
12 | LibBabble[k] = nil
13 | end
14 | LibBabble.data = data
15 |
16 | local tablesToDB = {}
17 | for namespace, db in pairs(data) do
18 | for k,v in pairs(db) do
19 | tablesToDB[v] = db
20 | end
21 | end
22 |
23 | local function warn(message)
24 | local _, ret = pcall(error, message, 3)
25 | geterrorhandler()(ret)
26 | end
27 |
28 | local lookup_mt = { __index = function(self, key)
29 | local db = tablesToDB[self]
30 | local current_key = db.current[key]
31 | if current_key then
32 | self[key] = current_key
33 | return current_key
34 | end
35 | local base_key = db.base[key]
36 | local real_MAJOR_VERSION
37 | for k,v in pairs(data) do
38 | if v == db then
39 | real_MAJOR_VERSION = k
40 | break
41 | end
42 | end
43 | if not real_MAJOR_VERSION then
44 | real_MAJOR_VERSION = LIBBABBLE_MAJOR
45 | end
46 | if base_key then
47 | warn(("%s: Translation %q not found for locale %q"):format(real_MAJOR_VERSION, key, GetLocale()))
48 | rawset(self, key, base_key)
49 | return base_key
50 | end
51 | warn(("%s: Translation %q not found."):format(real_MAJOR_VERSION, key))
52 | rawset(self, key, key)
53 | return key
54 | end }
55 |
56 | local function initLookup(module, lookup)
57 | local db = tablesToDB[module]
58 | for k in pairs(lookup) do
59 | lookup[k] = nil
60 | end
61 | setmetatable(lookup, lookup_mt)
62 | tablesToDB[lookup] = db
63 | db.lookup = lookup
64 | return lookup
65 | end
66 |
67 | local function initReverse(module, reverse)
68 | local db = tablesToDB[module]
69 | for k in pairs(reverse) do
70 | reverse[k] = nil
71 | end
72 | for k,v in pairs(db.current) do
73 | reverse[v] = k
74 | end
75 | tablesToDB[reverse] = db
76 | db.reverse = reverse
77 | db.reverseIterators = nil
78 | return reverse
79 | end
80 |
81 | local prototype = {}
82 | local prototype_mt = {__index = prototype}
83 |
84 | --[[---------------------------------------------------------------------------
85 | Notes:
86 | * If you try to access a nonexistent key, it will warn but allow the code to pass through.
87 | Returns:
88 | A lookup table for english to localized words.
89 | Example:
90 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
91 | local BL = B:GetLookupTable()
92 | assert(BL["Some english word"] == "Some localized word")
93 | DoSomething(BL["Some english word that doesn't exist"]) -- warning!
94 | -----------------------------------------------------------------------------]]
95 | function prototype:GetLookupTable()
96 | local db = tablesToDB[self]
97 |
98 | local lookup = db.lookup
99 | if lookup then
100 | return lookup
101 | end
102 | return initLookup(self, {})
103 | end
104 | --[[---------------------------------------------------------------------------
105 | Notes:
106 | * If you try to access a nonexistent key, it will return nil.
107 | Returns:
108 | A lookup table for english to localized words.
109 | Example:
110 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
111 | local B_has = B:GetUnstrictLookupTable()
112 | assert(B_has["Some english word"] == "Some localized word")
113 | assert(B_has["Some english word that doesn't exist"] == nil)
114 | -----------------------------------------------------------------------------]]
115 | function prototype:GetUnstrictLookupTable()
116 | local db = tablesToDB[self]
117 |
118 | return db.current
119 | end
120 | --[[---------------------------------------------------------------------------
121 | Notes:
122 | * If you try to access a nonexistent key, it will return nil.
123 | * This is useful for checking if the base (English) table has a key, even if the localized one does not have it registered.
124 | Returns:
125 | A lookup table for english to localized words.
126 | Example:
127 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
128 | local B_hasBase = B:GetBaseLookupTable()
129 | assert(B_hasBase["Some english word"] == "Some english word")
130 | assert(B_hasBase["Some english word that doesn't exist"] == nil)
131 | -----------------------------------------------------------------------------]]
132 | function prototype:GetBaseLookupTable()
133 | local db = tablesToDB[self]
134 |
135 | return db.base
136 | end
137 | --[[---------------------------------------------------------------------------
138 | Notes:
139 | * If you try to access a nonexistent key, it will return nil.
140 | * This will return only one English word that it maps to, if there are more than one to check, see :GetReverseIterator("word")
141 | Returns:
142 | A lookup table for localized to english words.
143 | Example:
144 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
145 | local BR = B:GetReverseLookupTable()
146 | assert(BR["Some localized word"] == "Some english word")
147 | assert(BR["Some localized word that doesn't exist"] == nil)
148 | -----------------------------------------------------------------------------]]
149 | function prototype:GetReverseLookupTable()
150 | local db = tablesToDB[self]
151 |
152 | local reverse = db.reverse
153 | if reverse then
154 | return reverse
155 | end
156 | return initReverse(self, {})
157 | end
158 | local blank = {}
159 | local weakVal = {__mode='v'}
160 | --[[---------------------------------------------------------------------------
161 | Arguments:
162 | string - the localized word to chek for.
163 | Returns:
164 | An iterator to traverse all English words that map to the given key
165 | Example:
166 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
167 | for word in B:GetReverseIterator("Some localized word") do
168 | DoSomething(word)
169 | end
170 | -----------------------------------------------------------------------------]]
171 | function prototype:GetReverseIterator(key)
172 | local db = tablesToDB[self]
173 | local reverseIterators = db.reverseIterators
174 | if not reverseIterators then
175 | reverseIterators = setmetatable({}, weakVal)
176 | db.reverseIterators = reverseIterators
177 | elseif reverseIterators[key] then
178 | return pairs(reverseIterators[key])
179 | end
180 | local t
181 | for k,v in pairs(db.current) do
182 | if v == key then
183 | if not t then
184 | t = {}
185 | end
186 | t[k] = true
187 | end
188 | end
189 | reverseIterators[key] = t or blank
190 | return pairs(reverseIterators[key])
191 | end
192 | --[[---------------------------------------------------------------------------
193 | Returns:
194 | An iterator to traverse all translations English to localized.
195 | Example:
196 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
197 | for english, localized in B:Iterate() do
198 | DoSomething(english, localized)
199 | end
200 | -----------------------------------------------------------------------------]]
201 | function prototype:Iterate()
202 | local db = tablesToDB[self]
203 |
204 | return pairs(db.current)
205 | end
206 |
207 | -- #NODOC
208 | -- modules need to call this to set the base table
209 | function prototype:SetBaseTranslations(base)
210 | local db = tablesToDB[self]
211 | local oldBase = db.base
212 | if oldBase then
213 | for k in pairs(oldBase) do
214 | oldBase[k] = nil
215 | end
216 | for k, v in pairs(base) do
217 | oldBase[k] = v
218 | end
219 | base = oldBase
220 | else
221 | db.base = base
222 | end
223 | for k,v in pairs(base) do
224 | if v == true then
225 | base[k] = k
226 | end
227 | end
228 | end
229 |
230 | local function init(module)
231 | local db = tablesToDB[module]
232 | if db.lookup then
233 | initLookup(module, db.lookup)
234 | end
235 | if db.reverse then
236 | initReverse(module, db.reverse)
237 | end
238 | db.reverseIterators = nil
239 | end
240 |
241 | -- #NODOC
242 | -- modules need to call this to set the current table. if current is true, use the base table.
243 | function prototype:SetCurrentTranslations(current)
244 | local db = tablesToDB[self]
245 | if current == true then
246 | db.current = db.base
247 | else
248 | local oldCurrent = db.current
249 | if oldCurrent then
250 | for k in pairs(oldCurrent) do
251 | oldCurrent[k] = nil
252 | end
253 | for k, v in pairs(current) do
254 | oldCurrent[k] = v
255 | end
256 | current = oldCurrent
257 | else
258 | db.current = current
259 | end
260 | end
261 | init(self)
262 | end
263 |
264 | for namespace, db in pairs(data) do
265 | setmetatable(db.module, prototype_mt)
266 | init(db.module)
267 | end
268 |
269 | -- #NODOC
270 | -- modules need to call this to create a new namespace.
271 | function LibBabble:New(namespace, minor)
272 | local module, oldminor = LibStub:NewLibrary(namespace, minor)
273 | if not module then
274 | return
275 | end
276 |
277 | if not oldminor then
278 | local db = {
279 | module = module,
280 | }
281 | data[namespace] = db
282 | tablesToDB[module] = db
283 | else
284 | for k,v in pairs(module) do
285 | module[k] = nil
286 | end
287 | end
288 |
289 | setmetatable(module, prototype_mt)
290 |
291 | return module
292 | end
293 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Zone-3.0/LibBabble-3.0.lua:
--------------------------------------------------------------------------------
1 | -- LibBabble-3.0 is hereby placed in the Public Domain
2 | -- Credits: ckknight
3 | local LIBBABBLE_MAJOR, LIBBABBLE_MINOR = "LibBabble-3.0", 2
4 |
5 | local LibBabble = LibStub:NewLibrary(LIBBABBLE_MAJOR, LIBBABBLE_MINOR)
6 | if not LibBabble then
7 | return
8 | end
9 |
10 | local data = LibBabble.data or {}
11 | for k,v in pairs(LibBabble) do
12 | LibBabble[k] = nil
13 | end
14 | LibBabble.data = data
15 |
16 | local tablesToDB = {}
17 | for namespace, db in pairs(data) do
18 | for k,v in pairs(db) do
19 | tablesToDB[v] = db
20 | end
21 | end
22 |
23 | local function warn(message)
24 | local _, ret = pcall(error, message, 3)
25 | geterrorhandler()(ret)
26 | end
27 |
28 | local lookup_mt = { __index = function(self, key)
29 | local db = tablesToDB[self]
30 | local current_key = db.current[key]
31 | if current_key then
32 | self[key] = current_key
33 | return current_key
34 | end
35 | local base_key = db.base[key]
36 | local real_MAJOR_VERSION
37 | for k,v in pairs(data) do
38 | if v == db then
39 | real_MAJOR_VERSION = k
40 | break
41 | end
42 | end
43 | if not real_MAJOR_VERSION then
44 | real_MAJOR_VERSION = LIBBABBLE_MAJOR
45 | end
46 | if base_key then
47 | warn(("%s: Translation %q not found for locale %q"):format(real_MAJOR_VERSION, key, GetLocale()))
48 | rawset(self, key, base_key)
49 | return base_key
50 | end
51 | warn(("%s: Translation %q not found."):format(real_MAJOR_VERSION, key))
52 | rawset(self, key, key)
53 | return key
54 | end }
55 |
56 | local function initLookup(module, lookup)
57 | local db = tablesToDB[module]
58 | for k in pairs(lookup) do
59 | lookup[k] = nil
60 | end
61 | setmetatable(lookup, lookup_mt)
62 | tablesToDB[lookup] = db
63 | db.lookup = lookup
64 | return lookup
65 | end
66 |
67 | local function initReverse(module, reverse)
68 | local db = tablesToDB[module]
69 | for k in pairs(reverse) do
70 | reverse[k] = nil
71 | end
72 | for k,v in pairs(db.current) do
73 | reverse[v] = k
74 | end
75 | tablesToDB[reverse] = db
76 | db.reverse = reverse
77 | db.reverseIterators = nil
78 | return reverse
79 | end
80 |
81 | local prototype = {}
82 | local prototype_mt = {__index = prototype}
83 |
84 | --[[---------------------------------------------------------------------------
85 | Notes:
86 | * If you try to access a nonexistent key, it will warn but allow the code to pass through.
87 | Returns:
88 | A lookup table for english to localized words.
89 | Example:
90 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
91 | local BL = B:GetLookupTable()
92 | assert(BL["Some english word"] == "Some localized word")
93 | DoSomething(BL["Some english word that doesn't exist"]) -- warning!
94 | -----------------------------------------------------------------------------]]
95 | function prototype:GetLookupTable()
96 | local db = tablesToDB[self]
97 |
98 | local lookup = db.lookup
99 | if lookup then
100 | return lookup
101 | end
102 | return initLookup(self, {})
103 | end
104 | --[[---------------------------------------------------------------------------
105 | Notes:
106 | * If you try to access a nonexistent key, it will return nil.
107 | Returns:
108 | A lookup table for english to localized words.
109 | Example:
110 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
111 | local B_has = B:GetUnstrictLookupTable()
112 | assert(B_has["Some english word"] == "Some localized word")
113 | assert(B_has["Some english word that doesn't exist"] == nil)
114 | -----------------------------------------------------------------------------]]
115 | function prototype:GetUnstrictLookupTable()
116 | local db = tablesToDB[self]
117 |
118 | return db.current
119 | end
120 | --[[---------------------------------------------------------------------------
121 | Notes:
122 | * If you try to access a nonexistent key, it will return nil.
123 | * This is useful for checking if the base (English) table has a key, even if the localized one does not have it registered.
124 | Returns:
125 | A lookup table for english to localized words.
126 | Example:
127 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
128 | local B_hasBase = B:GetBaseLookupTable()
129 | assert(B_hasBase["Some english word"] == "Some english word")
130 | assert(B_hasBase["Some english word that doesn't exist"] == nil)
131 | -----------------------------------------------------------------------------]]
132 | function prototype:GetBaseLookupTable()
133 | local db = tablesToDB[self]
134 |
135 | return db.base
136 | end
137 | --[[---------------------------------------------------------------------------
138 | Notes:
139 | * If you try to access a nonexistent key, it will return nil.
140 | * This will return only one English word that it maps to, if there are more than one to check, see :GetReverseIterator("word")
141 | Returns:
142 | A lookup table for localized to english words.
143 | Example:
144 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
145 | local BR = B:GetReverseLookupTable()
146 | assert(BR["Some localized word"] == "Some english word")
147 | assert(BR["Some localized word that doesn't exist"] == nil)
148 | -----------------------------------------------------------------------------]]
149 | function prototype:GetReverseLookupTable()
150 | local db = tablesToDB[self]
151 |
152 | local reverse = db.reverse
153 | if reverse then
154 | return reverse
155 | end
156 | return initReverse(self, {})
157 | end
158 | local blank = {}
159 | local weakVal = {__mode='v'}
160 | --[[---------------------------------------------------------------------------
161 | Arguments:
162 | string - the localized word to chek for.
163 | Returns:
164 | An iterator to traverse all English words that map to the given key
165 | Example:
166 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
167 | for word in B:GetReverseIterator("Some localized word") do
168 | DoSomething(word)
169 | end
170 | -----------------------------------------------------------------------------]]
171 | function prototype:GetReverseIterator(key)
172 | local db = tablesToDB[self]
173 | local reverseIterators = db.reverseIterators
174 | if not reverseIterators then
175 | reverseIterators = setmetatable({}, weakVal)
176 | db.reverseIterators = reverseIterators
177 | elseif reverseIterators[key] then
178 | return pairs(reverseIterators[key])
179 | end
180 | local t
181 | for k,v in pairs(db.current) do
182 | if v == key then
183 | if not t then
184 | t = {}
185 | end
186 | t[k] = true
187 | end
188 | end
189 | reverseIterators[key] = t or blank
190 | return pairs(reverseIterators[key])
191 | end
192 | --[[---------------------------------------------------------------------------
193 | Returns:
194 | An iterator to traverse all translations English to localized.
195 | Example:
196 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
197 | for english, localized in B:Iterate() do
198 | DoSomething(english, localized)
199 | end
200 | -----------------------------------------------------------------------------]]
201 | function prototype:Iterate()
202 | local db = tablesToDB[self]
203 |
204 | return pairs(db.current)
205 | end
206 |
207 | -- #NODOC
208 | -- modules need to call this to set the base table
209 | function prototype:SetBaseTranslations(base)
210 | local db = tablesToDB[self]
211 | local oldBase = db.base
212 | if oldBase then
213 | for k in pairs(oldBase) do
214 | oldBase[k] = nil
215 | end
216 | for k, v in pairs(base) do
217 | oldBase[k] = v
218 | end
219 | base = oldBase
220 | else
221 | db.base = base
222 | end
223 | for k,v in pairs(base) do
224 | if v == true then
225 | base[k] = k
226 | end
227 | end
228 | end
229 |
230 | local function init(module)
231 | local db = tablesToDB[module]
232 | if db.lookup then
233 | initLookup(module, db.lookup)
234 | end
235 | if db.reverse then
236 | initReverse(module, db.reverse)
237 | end
238 | db.reverseIterators = nil
239 | end
240 |
241 | -- #NODOC
242 | -- modules need to call this to set the current table. if current is true, use the base table.
243 | function prototype:SetCurrentTranslations(current)
244 | local db = tablesToDB[self]
245 | if current == true then
246 | db.current = db.base
247 | else
248 | local oldCurrent = db.current
249 | if oldCurrent then
250 | for k in pairs(oldCurrent) do
251 | oldCurrent[k] = nil
252 | end
253 | for k, v in pairs(current) do
254 | oldCurrent[k] = v
255 | end
256 | current = oldCurrent
257 | else
258 | db.current = current
259 | end
260 | end
261 | init(self)
262 | end
263 |
264 | for namespace, db in pairs(data) do
265 | setmetatable(db.module, prototype_mt)
266 | init(db.module)
267 | end
268 |
269 | -- #NODOC
270 | -- modules need to call this to create a new namespace.
271 | function LibBabble:New(namespace, minor)
272 | local module, oldminor = LibStub:NewLibrary(namespace, minor)
273 | if not module then
274 | return
275 | end
276 |
277 | if not oldminor then
278 | local db = {
279 | module = module,
280 | }
281 | data[namespace] = db
282 | tablesToDB[module] = db
283 | else
284 | for k,v in pairs(module) do
285 | module[k] = nil
286 | end
287 | end
288 |
289 | setmetatable(module, prototype_mt)
290 |
291 | return module
292 | end
293 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Faction-3.0/LibBabble-3.0.lua:
--------------------------------------------------------------------------------
1 | -- LibBabble-3.0 is hereby placed in the Public Domain
2 | -- Credits: ckknight
3 | local LIBBABBLE_MAJOR, LIBBABBLE_MINOR = "LibBabble-3.0", 2
4 |
5 | local LibBabble = LibStub:NewLibrary(LIBBABBLE_MAJOR, LIBBABBLE_MINOR)
6 | if not LibBabble then
7 | return
8 | end
9 |
10 | local data = LibBabble.data or {}
11 | for k,v in pairs(LibBabble) do
12 | LibBabble[k] = nil
13 | end
14 | LibBabble.data = data
15 |
16 | local tablesToDB = {}
17 | for namespace, db in pairs(data) do
18 | for k,v in pairs(db) do
19 | tablesToDB[v] = db
20 | end
21 | end
22 |
23 | local function warn(message)
24 | local _, ret = pcall(error, message, 3)
25 | geterrorhandler()(ret)
26 | end
27 |
28 | local lookup_mt = { __index = function(self, key)
29 | local db = tablesToDB[self]
30 | local current_key = db.current[key]
31 | if current_key then
32 | self[key] = current_key
33 | return current_key
34 | end
35 | local base_key = db.base[key]
36 | local real_MAJOR_VERSION
37 | for k,v in pairs(data) do
38 | if v == db then
39 | real_MAJOR_VERSION = k
40 | break
41 | end
42 | end
43 | if not real_MAJOR_VERSION then
44 | real_MAJOR_VERSION = LIBBABBLE_MAJOR
45 | end
46 | if base_key then
47 | warn(("%s: Translation %q not found for locale %q"):format(real_MAJOR_VERSION, key, GetLocale()))
48 | rawset(self, key, base_key)
49 | return base_key
50 | end
51 | warn(("%s: Translation %q not found."):format(real_MAJOR_VERSION, key))
52 | rawset(self, key, key)
53 | return key
54 | end }
55 |
56 | local function initLookup(module, lookup)
57 | local db = tablesToDB[module]
58 | for k in pairs(lookup) do
59 | lookup[k] = nil
60 | end
61 | setmetatable(lookup, lookup_mt)
62 | tablesToDB[lookup] = db
63 | db.lookup = lookup
64 | return lookup
65 | end
66 |
67 | local function initReverse(module, reverse)
68 | local db = tablesToDB[module]
69 | for k in pairs(reverse) do
70 | reverse[k] = nil
71 | end
72 | for k,v in pairs(db.current) do
73 | reverse[v] = k
74 | end
75 | tablesToDB[reverse] = db
76 | db.reverse = reverse
77 | db.reverseIterators = nil
78 | return reverse
79 | end
80 |
81 | local prototype = {}
82 | local prototype_mt = {__index = prototype}
83 |
84 | --[[---------------------------------------------------------------------------
85 | Notes:
86 | * If you try to access a nonexistent key, it will warn but allow the code to pass through.
87 | Returns:
88 | A lookup table for english to localized words.
89 | Example:
90 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
91 | local BL = B:GetLookupTable()
92 | assert(BL["Some english word"] == "Some localized word")
93 | DoSomething(BL["Some english word that doesn't exist"]) -- warning!
94 | -----------------------------------------------------------------------------]]
95 | function prototype:GetLookupTable()
96 | local db = tablesToDB[self]
97 |
98 | local lookup = db.lookup
99 | if lookup then
100 | return lookup
101 | end
102 | return initLookup(self, {})
103 | end
104 | --[[---------------------------------------------------------------------------
105 | Notes:
106 | * If you try to access a nonexistent key, it will return nil.
107 | Returns:
108 | A lookup table for english to localized words.
109 | Example:
110 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
111 | local B_has = B:GetUnstrictLookupTable()
112 | assert(B_has["Some english word"] == "Some localized word")
113 | assert(B_has["Some english word that doesn't exist"] == nil)
114 | -----------------------------------------------------------------------------]]
115 | function prototype:GetUnstrictLookupTable()
116 | local db = tablesToDB[self]
117 |
118 | return db.current
119 | end
120 | --[[---------------------------------------------------------------------------
121 | Notes:
122 | * If you try to access a nonexistent key, it will return nil.
123 | * This is useful for checking if the base (English) table has a key, even if the localized one does not have it registered.
124 | Returns:
125 | A lookup table for english to localized words.
126 | Example:
127 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
128 | local B_hasBase = B:GetBaseLookupTable()
129 | assert(B_hasBase["Some english word"] == "Some english word")
130 | assert(B_hasBase["Some english word that doesn't exist"] == nil)
131 | -----------------------------------------------------------------------------]]
132 | function prototype:GetBaseLookupTable()
133 | local db = tablesToDB[self]
134 |
135 | return db.base
136 | end
137 | --[[---------------------------------------------------------------------------
138 | Notes:
139 | * If you try to access a nonexistent key, it will return nil.
140 | * This will return only one English word that it maps to, if there are more than one to check, see :GetReverseIterator("word")
141 | Returns:
142 | A lookup table for localized to english words.
143 | Example:
144 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
145 | local BR = B:GetReverseLookupTable()
146 | assert(BR["Some localized word"] == "Some english word")
147 | assert(BR["Some localized word that doesn't exist"] == nil)
148 | -----------------------------------------------------------------------------]]
149 | function prototype:GetReverseLookupTable()
150 | local db = tablesToDB[self]
151 |
152 | local reverse = db.reverse
153 | if reverse then
154 | return reverse
155 | end
156 | return initReverse(self, {})
157 | end
158 | local blank = {}
159 | local weakVal = {__mode='v'}
160 | --[[---------------------------------------------------------------------------
161 | Arguments:
162 | string - the localized word to chek for.
163 | Returns:
164 | An iterator to traverse all English words that map to the given key
165 | Example:
166 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
167 | for word in B:GetReverseIterator("Some localized word") do
168 | DoSomething(word)
169 | end
170 | -----------------------------------------------------------------------------]]
171 | function prototype:GetReverseIterator(key)
172 | local db = tablesToDB[self]
173 | local reverseIterators = db.reverseIterators
174 | if not reverseIterators then
175 | reverseIterators = setmetatable({}, weakVal)
176 | db.reverseIterators = reverseIterators
177 | elseif reverseIterators[key] then
178 | return pairs(reverseIterators[key])
179 | end
180 | local t
181 | for k,v in pairs(db.current) do
182 | if v == key then
183 | if not t then
184 | t = {}
185 | end
186 | t[k] = true
187 | end
188 | end
189 | reverseIterators[key] = t or blank
190 | return pairs(reverseIterators[key])
191 | end
192 | --[[---------------------------------------------------------------------------
193 | Returns:
194 | An iterator to traverse all translations English to localized.
195 | Example:
196 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
197 | for english, localized in B:Iterate() do
198 | DoSomething(english, localized)
199 | end
200 | -----------------------------------------------------------------------------]]
201 | function prototype:Iterate()
202 | local db = tablesToDB[self]
203 |
204 | return pairs(db.current)
205 | end
206 |
207 | -- #NODOC
208 | -- modules need to call this to set the base table
209 | function prototype:SetBaseTranslations(base)
210 | local db = tablesToDB[self]
211 | local oldBase = db.base
212 | if oldBase then
213 | for k in pairs(oldBase) do
214 | oldBase[k] = nil
215 | end
216 | for k, v in pairs(base) do
217 | oldBase[k] = v
218 | end
219 | base = oldBase
220 | else
221 | db.base = base
222 | end
223 | for k,v in pairs(base) do
224 | if v == true then
225 | base[k] = k
226 | end
227 | end
228 | end
229 |
230 | local function init(module)
231 | local db = tablesToDB[module]
232 | if db.lookup then
233 | initLookup(module, db.lookup)
234 | end
235 | if db.reverse then
236 | initReverse(module, db.reverse)
237 | end
238 | db.reverseIterators = nil
239 | end
240 |
241 | -- #NODOC
242 | -- modules need to call this to set the current table. if current is true, use the base table.
243 | function prototype:SetCurrentTranslations(current)
244 | local db = tablesToDB[self]
245 | if current == true then
246 | db.current = db.base
247 | else
248 | local oldCurrent = db.current
249 | if oldCurrent then
250 | for k in pairs(oldCurrent) do
251 | oldCurrent[k] = nil
252 | end
253 | for k, v in pairs(current) do
254 | oldCurrent[k] = v
255 | end
256 | current = oldCurrent
257 | else
258 | db.current = current
259 | end
260 | end
261 | init(self)
262 | end
263 |
264 | for namespace, db in pairs(data) do
265 | setmetatable(db.module, prototype_mt)
266 | init(db.module)
267 | end
268 |
269 | -- #NODOC
270 | -- modules need to call this to create a new namespace.
271 | function LibBabble:New(namespace, minor)
272 | local module, oldminor = LibStub:NewLibrary(namespace, minor)
273 | if not module then
274 | return
275 | end
276 |
277 | if not oldminor then
278 | local db = {
279 | module = module,
280 | }
281 | data[namespace] = db
282 | tablesToDB[module] = db
283 | else
284 | for k,v in pairs(module) do
285 | module[k] = nil
286 | end
287 | end
288 |
289 | setmetatable(module, prototype_mt)
290 |
291 | return module
292 | end
293 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibBabble-Inventory-3.0/LibBabble-3.0.lua:
--------------------------------------------------------------------------------
1 | -- LibBabble-3.0 is hereby placed in the Public Domain
2 | -- Credits: ckknight
3 | local LIBBABBLE_MAJOR, LIBBABBLE_MINOR = "LibBabble-3.0", 2
4 |
5 | local LibBabble = LibStub:NewLibrary(LIBBABBLE_MAJOR, LIBBABBLE_MINOR)
6 | if not LibBabble then
7 | return
8 | end
9 |
10 | local data = LibBabble.data or {}
11 | for k,v in pairs(LibBabble) do
12 | LibBabble[k] = nil
13 | end
14 | LibBabble.data = data
15 |
16 | local tablesToDB = {}
17 | for namespace, db in pairs(data) do
18 | for k,v in pairs(db) do
19 | tablesToDB[v] = db
20 | end
21 | end
22 |
23 | local function warn(message)
24 | local _, ret = pcall(error, message, 3)
25 | geterrorhandler()(ret)
26 | end
27 |
28 | local lookup_mt = { __index = function(self, key)
29 | local db = tablesToDB[self]
30 | local current_key = db.current[key]
31 | if current_key then
32 | self[key] = current_key
33 | return current_key
34 | end
35 | local base_key = db.base[key]
36 | local real_MAJOR_VERSION
37 | for k,v in pairs(data) do
38 | if v == db then
39 | real_MAJOR_VERSION = k
40 | break
41 | end
42 | end
43 | if not real_MAJOR_VERSION then
44 | real_MAJOR_VERSION = LIBBABBLE_MAJOR
45 | end
46 | if base_key then
47 | warn(("%s: Translation %q not found for locale %q"):format(real_MAJOR_VERSION, key, GetLocale()))
48 | rawset(self, key, base_key)
49 | return base_key
50 | end
51 | warn(("%s: Translation %q not found."):format(real_MAJOR_VERSION, key))
52 | rawset(self, key, key)
53 | return key
54 | end }
55 |
56 | local function initLookup(module, lookup)
57 | local db = tablesToDB[module]
58 | for k in pairs(lookup) do
59 | lookup[k] = nil
60 | end
61 | setmetatable(lookup, lookup_mt)
62 | tablesToDB[lookup] = db
63 | db.lookup = lookup
64 | return lookup
65 | end
66 |
67 | local function initReverse(module, reverse)
68 | local db = tablesToDB[module]
69 | for k in pairs(reverse) do
70 | reverse[k] = nil
71 | end
72 | for k,v in pairs(db.current) do
73 | reverse[v] = k
74 | end
75 | tablesToDB[reverse] = db
76 | db.reverse = reverse
77 | db.reverseIterators = nil
78 | return reverse
79 | end
80 |
81 | local prototype = {}
82 | local prototype_mt = {__index = prototype}
83 |
84 | --[[---------------------------------------------------------------------------
85 | Notes:
86 | * If you try to access a nonexistent key, it will warn but allow the code to pass through.
87 | Returns:
88 | A lookup table for english to localized words.
89 | Example:
90 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
91 | local BL = B:GetLookupTable()
92 | assert(BL["Some english word"] == "Some localized word")
93 | DoSomething(BL["Some english word that doesn't exist"]) -- warning!
94 | -----------------------------------------------------------------------------]]
95 | function prototype:GetLookupTable()
96 | local db = tablesToDB[self]
97 |
98 | local lookup = db.lookup
99 | if lookup then
100 | return lookup
101 | end
102 | return initLookup(self, {})
103 | end
104 | --[[---------------------------------------------------------------------------
105 | Notes:
106 | * If you try to access a nonexistent key, it will return nil.
107 | Returns:
108 | A lookup table for english to localized words.
109 | Example:
110 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
111 | local B_has = B:GetUnstrictLookupTable()
112 | assert(B_has["Some english word"] == "Some localized word")
113 | assert(B_has["Some english word that doesn't exist"] == nil)
114 | -----------------------------------------------------------------------------]]
115 | function prototype:GetUnstrictLookupTable()
116 | local db = tablesToDB[self]
117 |
118 | return db.current
119 | end
120 | --[[---------------------------------------------------------------------------
121 | Notes:
122 | * If you try to access a nonexistent key, it will return nil.
123 | * This is useful for checking if the base (English) table has a key, even if the localized one does not have it registered.
124 | Returns:
125 | A lookup table for english to localized words.
126 | Example:
127 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
128 | local B_hasBase = B:GetBaseLookupTable()
129 | assert(B_hasBase["Some english word"] == "Some english word")
130 | assert(B_hasBase["Some english word that doesn't exist"] == nil)
131 | -----------------------------------------------------------------------------]]
132 | function prototype:GetBaseLookupTable()
133 | local db = tablesToDB[self]
134 |
135 | return db.base
136 | end
137 | --[[---------------------------------------------------------------------------
138 | Notes:
139 | * If you try to access a nonexistent key, it will return nil.
140 | * This will return only one English word that it maps to, if there are more than one to check, see :GetReverseIterator("word")
141 | Returns:
142 | A lookup table for localized to english words.
143 | Example:
144 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
145 | local BR = B:GetReverseLookupTable()
146 | assert(BR["Some localized word"] == "Some english word")
147 | assert(BR["Some localized word that doesn't exist"] == nil)
148 | -----------------------------------------------------------------------------]]
149 | function prototype:GetReverseLookupTable()
150 | local db = tablesToDB[self]
151 |
152 | local reverse = db.reverse
153 | if reverse then
154 | return reverse
155 | end
156 | return initReverse(self, {})
157 | end
158 | local blank = {}
159 | local weakVal = {__mode='v'}
160 | --[[---------------------------------------------------------------------------
161 | Arguments:
162 | string - the localized word to chek for.
163 | Returns:
164 | An iterator to traverse all English words that map to the given key
165 | Example:
166 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
167 | for word in B:GetReverseIterator("Some localized word") do
168 | DoSomething(word)
169 | end
170 | -----------------------------------------------------------------------------]]
171 | function prototype:GetReverseIterator(key)
172 | local db = tablesToDB[self]
173 | local reverseIterators = db.reverseIterators
174 | if not reverseIterators then
175 | reverseIterators = setmetatable({}, weakVal)
176 | db.reverseIterators = reverseIterators
177 | elseif reverseIterators[key] then
178 | return pairs(reverseIterators[key])
179 | end
180 | local t
181 | for k,v in pairs(db.current) do
182 | if v == key then
183 | if not t then
184 | t = {}
185 | end
186 | t[k] = true
187 | end
188 | end
189 | reverseIterators[key] = t or blank
190 | return pairs(reverseIterators[key])
191 | end
192 | --[[---------------------------------------------------------------------------
193 | Returns:
194 | An iterator to traverse all translations English to localized.
195 | Example:
196 | local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
197 | for english, localized in B:Iterate() do
198 | DoSomething(english, localized)
199 | end
200 | -----------------------------------------------------------------------------]]
201 | function prototype:Iterate()
202 | local db = tablesToDB[self]
203 |
204 | return pairs(db.current)
205 | end
206 |
207 | -- #NODOC
208 | -- modules need to call this to set the base table
209 | function prototype:SetBaseTranslations(base)
210 | local db = tablesToDB[self]
211 | local oldBase = db.base
212 | if oldBase then
213 | for k in pairs(oldBase) do
214 | oldBase[k] = nil
215 | end
216 | for k, v in pairs(base) do
217 | oldBase[k] = v
218 | end
219 | base = oldBase
220 | else
221 | db.base = base
222 | end
223 | for k,v in pairs(base) do
224 | if v == true then
225 | base[k] = k
226 | end
227 | end
228 | end
229 |
230 | local function init(module)
231 | local db = tablesToDB[module]
232 | if db.lookup then
233 | initLookup(module, db.lookup)
234 | end
235 | if db.reverse then
236 | initReverse(module, db.reverse)
237 | end
238 | db.reverseIterators = nil
239 | end
240 |
241 | -- #NODOC
242 | -- modules need to call this to set the current table. if current is true, use the base table.
243 | function prototype:SetCurrentTranslations(current)
244 | local db = tablesToDB[self]
245 | if current == true then
246 | db.current = db.base
247 | else
248 | local oldCurrent = db.current
249 | if oldCurrent then
250 | for k in pairs(oldCurrent) do
251 | oldCurrent[k] = nil
252 | end
253 | for k, v in pairs(current) do
254 | oldCurrent[k] = v
255 | end
256 | current = oldCurrent
257 | else
258 | db.current = current
259 | end
260 | end
261 | init(self)
262 | end
263 |
264 | for namespace, db in pairs(data) do
265 | setmetatable(db.module, prototype_mt)
266 | init(db.module)
267 | end
268 |
269 | -- #NODOC
270 | -- modules need to call this to create a new namespace.
271 | function LibBabble:New(namespace, minor)
272 | local module, oldminor = LibStub:NewLibrary(namespace, minor)
273 | if not module then
274 | return
275 | end
276 |
277 | if not oldminor then
278 | local db = {
279 | module = module,
280 | }
281 | data[namespace] = db
282 | tablesToDB[module] = db
283 | else
284 | for k,v in pairs(module) do
285 | module[k] = nil
286 | end
287 | end
288 |
289 | setmetatable(module, prototype_mt)
290 |
291 | return module
292 | end
293 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:
--------------------------------------------------------------------------------
1 | --[[ $Id: CallbackHandler-1.0.lua 3 2008-09-29 16:54:20Z nevcairiel $ ]]
2 | local MAJOR, MINOR = "CallbackHandler-1.0", 3
3 | local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
4 |
5 | if not CallbackHandler then return end -- No upgrade needed
6 |
7 | local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end}
8 |
9 | local type = type
10 | local pcall = pcall
11 | local pairs = pairs
12 | local assert = assert
13 | local concat = table.concat
14 | local loadstring = loadstring
15 | local next = next
16 | local select = select
17 | local type = type
18 | local xpcall = xpcall
19 |
20 | local function errorhandler(err)
21 | return geterrorhandler()(err)
22 | end
23 |
24 | local function CreateDispatcher(argCount)
25 | local code = [[
26 | local next, xpcall, eh = ...
27 |
28 | local method, ARGS
29 | local function call() method(ARGS) end
30 |
31 | local function dispatch(handlers, ...)
32 | local index
33 | index, method = next(handlers)
34 | if not method then return end
35 | local OLD_ARGS = ARGS
36 | ARGS = ...
37 | repeat
38 | xpcall(call, eh)
39 | index, method = next(handlers, index)
40 | until not method
41 | ARGS = OLD_ARGS
42 | end
43 |
44 | return dispatch
45 | ]]
46 |
47 | local ARGS, OLD_ARGS = {}, {}
48 | for i = 1, argCount do ARGS[i], OLD_ARGS[i] = "arg"..i, "old_arg"..i end
49 | code = code:gsub("OLD_ARGS", concat(OLD_ARGS, ", ")):gsub("ARGS", concat(ARGS, ", "))
50 | return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(next, xpcall, errorhandler)
51 | end
52 |
53 | local Dispatchers = setmetatable({}, {__index=function(self, argCount)
54 | local dispatcher = CreateDispatcher(argCount)
55 | rawset(self, argCount, dispatcher)
56 | return dispatcher
57 | end})
58 |
59 | --------------------------------------------------------------------------
60 | -- CallbackHandler:New
61 | --
62 | -- target - target object to embed public APIs in
63 | -- RegisterName - name of the callback registration API, default "RegisterCallback"
64 | -- UnregisterName - name of the callback unregistration API, default "UnregisterCallback"
65 | -- UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API.
66 |
67 | function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName, OnUsed, OnUnused)
68 | -- TODO: Remove this after beta has gone out
69 | assert(not OnUsed and not OnUnused, "ACE-80: OnUsed/OnUnused are deprecated. Callbacks are now done to registry.OnUsed and registry.OnUnused")
70 |
71 | RegisterName = RegisterName or "RegisterCallback"
72 | UnregisterName = UnregisterName or "UnregisterCallback"
73 | if UnregisterAllName==nil then -- false is used to indicate "don't want this method"
74 | UnregisterAllName = "UnregisterAllCallbacks"
75 | end
76 |
77 | -- we declare all objects and exported APIs inside this closure to quickly gain access
78 | -- to e.g. function names, the "target" parameter, etc
79 |
80 |
81 | -- Create the registry object
82 | local events = setmetatable({}, meta)
83 | local registry = { recurse=0, events=events }
84 |
85 | -- registry:Fire() - fires the given event/message into the registry
86 | function registry:Fire(eventname, ...)
87 | if not rawget(events, eventname) or not next(events[eventname]) then return end
88 | local oldrecurse = registry.recurse
89 | registry.recurse = oldrecurse + 1
90 |
91 | Dispatchers[select('#', ...) + 1](events[eventname], eventname, ...)
92 |
93 | registry.recurse = oldrecurse
94 |
95 | if registry.insertQueue and oldrecurse==0 then
96 | -- Something in one of our callbacks wanted to register more callbacks; they got queued
97 | for eventname,callbacks in pairs(registry.insertQueue) do
98 | local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten.
99 | for self,func in pairs(callbacks) do
100 | events[eventname][self] = func
101 | -- fire OnUsed callback?
102 | if first and registry.OnUsed then
103 | registry.OnUsed(registry, target, eventname)
104 | first = nil
105 | end
106 | end
107 | end
108 | registry.insertQueue = nil
109 | end
110 | end
111 |
112 | -- Registration of a callback, handles:
113 | -- self["method"], leads to self["method"](self, ...)
114 | -- self with function ref, leads to functionref(...)
115 | -- "addonId" (instead of self) with function ref, leads to functionref(...)
116 | -- all with an optional arg, which, if present, gets passed as first argument (after self if present)
117 | target[RegisterName] = function(self, eventname, method, ... --[[actually just a single arg]])
118 | if type(eventname) ~= "string" then
119 | error("Usage: "..RegisterName.."(eventname, method[, arg]): 'eventname' - string expected.", 2)
120 | end
121 |
122 | method = method or eventname
123 |
124 | local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten.
125 |
126 | if type(method) ~= "string" and type(method) ~= "function" then
127 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - string or function expected.", 2)
128 | end
129 |
130 | local regfunc
131 |
132 | if type(method) == "string" then
133 | -- self["method"] calling style
134 | if type(self) ~= "table" then
135 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): self was not a table?", 2)
136 | elseif self==target then
137 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): do not use Library:"..RegisterName.."(), use your own 'self'", 2)
138 | elseif type(self[method]) ~= "function" then
139 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - method '"..tostring(method).."' not found on self.", 2)
140 | end
141 |
142 | if select("#",...)>=1 then -- this is not the same as testing for arg==nil!
143 | local arg=select(1,...)
144 | regfunc = function(...) self[method](self,arg,...) end
145 | else
146 | regfunc = function(...) self[method](self,...) end
147 | end
148 | else
149 | -- function ref with self=object or self="addonId"
150 | if type(self)~="table" and type(self)~="string" then
151 | error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string expected.", 2)
152 | end
153 |
154 | if select("#",...)>=1 then -- this is not the same as testing for arg==nil!
155 | local arg=select(1,...)
156 | regfunc = function(...) method(arg,...) end
157 | else
158 | regfunc = method
159 | end
160 | end
161 |
162 |
163 | if events[eventname][self] or registry.recurse<1 then
164 | -- if registry.recurse<1 then
165 | -- we're overwriting an existing entry, or not currently recursing. just set it.
166 | events[eventname][self] = regfunc
167 | -- fire OnUsed callback?
168 | if registry.OnUsed and first then
169 | registry.OnUsed(registry, target, eventname)
170 | end
171 | else
172 | -- we're currently processing a callback in this registry, so delay the registration of this new entry!
173 | -- yes, we're a bit wasteful on garbage, but this is a fringe case, so we're picking low implementation overhead over garbage efficiency
174 | registry.insertQueue = registry.insertQueue or setmetatable({},meta)
175 | registry.insertQueue[eventname][self] = regfunc
176 | end
177 | end
178 |
179 | -- Unregister a callback
180 | target[UnregisterName] = function(self, eventname)
181 | if not self or self==target then
182 | error("Usage: "..UnregisterName.."(eventname): bad 'self'", 2)
183 | end
184 | if type(eventname) ~= "string" then
185 | error("Usage: "..UnregisterName.."(eventname): 'eventname' - string expected.", 2)
186 | end
187 | if rawget(events, eventname) and events[eventname][self] then
188 | events[eventname][self] = nil
189 | -- Fire OnUnused callback?
190 | if registry.OnUnused and not next(events[eventname]) then
191 | registry.OnUnused(registry, target, eventname)
192 | end
193 | end
194 | if registry.insertQueue and rawget(registry.insertQueue, eventname) and registry.insertQueue[eventname][self] then
195 | registry.insertQueue[eventname][self] = nil
196 | end
197 | end
198 |
199 | -- OPTIONAL: Unregister all callbacks for given selfs/addonIds
200 | if UnregisterAllName then
201 | target[UnregisterAllName] = function(...)
202 | if select("#",...)<1 then
203 | error("Usage: "..UnregisterAllName.."([whatFor]): missing 'self' or \"addonId\" to unregister events for.", 2)
204 | end
205 | if select("#",...)==1 and ...==target then
206 | error("Usage: "..UnregisterAllName.."([whatFor]): supply a meaningful 'self' or \"addonId\"", 2)
207 | end
208 |
209 |
210 | for i=1,select("#",...) do
211 | local self = select(i,...)
212 | if registry.insertQueue then
213 | for eventname, callbacks in pairs(registry.insertQueue) do
214 | if callbacks[self] then
215 | callbacks[self] = nil
216 | end
217 | end
218 | end
219 | for eventname, callbacks in pairs(events) do
220 | if callbacks[self] then
221 | callbacks[self] = nil
222 | -- Fire OnUnused callback?
223 | if registry.OnUnused and not next(callbacks) then
224 | registry.OnUnused(registry, target, eventname)
225 | end
226 | end
227 | end
228 | end
229 | end
230 | end
231 |
232 | return registry
233 | end
234 |
235 |
236 | -- CallbackHandler purposefully does NOT do explicit embedding. Nor does it
237 | -- try to upgrade old implicit embeds since the system is selfcontained and
238 | -- relies on closures to work.
239 |
240 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/LibAboutPanel/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:
--------------------------------------------------------------------------------
1 | --[[ $Id: CallbackHandler-1.0.lua 9 2009-09-17 10:38:10Z mikk $ ]]
2 | local MAJOR, MINOR = "CallbackHandler-1.0", 5
3 | local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
4 |
5 | if not CallbackHandler then return end -- No upgrade needed
6 |
7 | local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end}
8 |
9 | local type = type
10 | local pcall = pcall
11 | local pairs = pairs
12 | local assert = assert
13 | local concat = table.concat
14 | local loadstring = loadstring
15 | local next = next
16 | local select = select
17 | local type = type
18 | local xpcall = xpcall
19 |
20 | local function errorhandler(err)
21 | return geterrorhandler()(err)
22 | end
23 |
24 | local function CreateDispatcher(argCount)
25 | local code = [[
26 | local next, xpcall, eh = ...
27 |
28 | local method, ARGS
29 | local function call() method(ARGS) end
30 |
31 | local function dispatch(handlers, ...)
32 | local index
33 | index, method = next(handlers)
34 | if not method then return end
35 | local OLD_ARGS = ARGS
36 | ARGS = ...
37 | repeat
38 | xpcall(call, eh)
39 | index, method = next(handlers, index)
40 | until not method
41 | ARGS = OLD_ARGS
42 | end
43 |
44 | return dispatch
45 | ]]
46 |
47 | local ARGS, OLD_ARGS = {}, {}
48 | for i = 1, argCount do ARGS[i], OLD_ARGS[i] = "arg"..i, "old_arg"..i end
49 | code = code:gsub("OLD_ARGS", concat(OLD_ARGS, ", ")):gsub("ARGS", concat(ARGS, ", "))
50 | return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(next, xpcall, errorhandler)
51 | end
52 |
53 | local Dispatchers = setmetatable({}, {__index=function(self, argCount)
54 | local dispatcher = CreateDispatcher(argCount)
55 | rawset(self, argCount, dispatcher)
56 | return dispatcher
57 | end})
58 |
59 | --------------------------------------------------------------------------
60 | -- CallbackHandler:New
61 | --
62 | -- target - target object to embed public APIs in
63 | -- RegisterName - name of the callback registration API, default "RegisterCallback"
64 | -- UnregisterName - name of the callback unregistration API, default "UnregisterCallback"
65 | -- UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API.
66 |
67 | function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName, OnUsed, OnUnused)
68 | -- TODO: Remove this after beta has gone out
69 | assert(not OnUsed and not OnUnused, "ACE-80: OnUsed/OnUnused are deprecated. Callbacks are now done to registry.OnUsed and registry.OnUnused")
70 |
71 | RegisterName = RegisterName or "RegisterCallback"
72 | UnregisterName = UnregisterName or "UnregisterCallback"
73 | if UnregisterAllName==nil then -- false is used to indicate "don't want this method"
74 | UnregisterAllName = "UnregisterAllCallbacks"
75 | end
76 |
77 | -- we declare all objects and exported APIs inside this closure to quickly gain access
78 | -- to e.g. function names, the "target" parameter, etc
79 |
80 |
81 | -- Create the registry object
82 | local events = setmetatable({}, meta)
83 | local registry = { recurse=0, events=events }
84 |
85 | -- registry:Fire() - fires the given event/message into the registry
86 | function registry:Fire(eventname, ...)
87 | if not rawget(events, eventname) or not next(events[eventname]) then return end
88 | local oldrecurse = registry.recurse
89 | registry.recurse = oldrecurse + 1
90 |
91 | Dispatchers[select('#', ...) + 1](events[eventname], eventname, ...)
92 |
93 | registry.recurse = oldrecurse
94 |
95 | if registry.insertQueue and oldrecurse==0 then
96 | -- Something in one of our callbacks wanted to register more callbacks; they got queued
97 | for eventname,callbacks in pairs(registry.insertQueue) do
98 | local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten.
99 | for self,func in pairs(callbacks) do
100 | events[eventname][self] = func
101 | -- fire OnUsed callback?
102 | if first and registry.OnUsed then
103 | registry.OnUsed(registry, target, eventname)
104 | first = nil
105 | end
106 | end
107 | end
108 | registry.insertQueue = nil
109 | end
110 | end
111 |
112 | -- Registration of a callback, handles:
113 | -- self["method"], leads to self["method"](self, ...)
114 | -- self with function ref, leads to functionref(...)
115 | -- "addonId" (instead of self) with function ref, leads to functionref(...)
116 | -- all with an optional arg, which, if present, gets passed as first argument (after self if present)
117 | target[RegisterName] = function(self, eventname, method, ... --[[actually just a single arg]])
118 | if type(eventname) ~= "string" then
119 | error("Usage: "..RegisterName.."(eventname, method[, arg]): 'eventname' - string expected.", 2)
120 | end
121 |
122 | method = method or eventname
123 |
124 | local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten.
125 |
126 | if type(method) ~= "string" and type(method) ~= "function" then
127 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - string or function expected.", 2)
128 | end
129 |
130 | local regfunc
131 |
132 | if type(method) == "string" then
133 | -- self["method"] calling style
134 | if type(self) ~= "table" then
135 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): self was not a table?", 2)
136 | elseif self==target then
137 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): do not use Library:"..RegisterName.."(), use your own 'self'", 2)
138 | elseif type(self[method]) ~= "function" then
139 | error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - method '"..tostring(method).."' not found on self.", 2)
140 | end
141 |
142 | if select("#",...)>=1 then -- this is not the same as testing for arg==nil!
143 | local arg=select(1,...)
144 | regfunc = function(...) self[method](self,arg,...) end
145 | else
146 | regfunc = function(...) self[method](self,...) end
147 | end
148 | else
149 | -- function ref with self=object or self="addonId"
150 | if type(self)~="table" and type(self)~="string" then
151 | error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string expected.", 2)
152 | end
153 |
154 | if select("#",...)>=1 then -- this is not the same as testing for arg==nil!
155 | local arg=select(1,...)
156 | regfunc = function(...) method(arg,...) end
157 | else
158 | regfunc = method
159 | end
160 | end
161 |
162 |
163 | if events[eventname][self] or registry.recurse<1 then
164 | -- if registry.recurse<1 then
165 | -- we're overwriting an existing entry, or not currently recursing. just set it.
166 | events[eventname][self] = regfunc
167 | -- fire OnUsed callback?
168 | if registry.OnUsed and first then
169 | registry.OnUsed(registry, target, eventname)
170 | end
171 | else
172 | -- we're currently processing a callback in this registry, so delay the registration of this new entry!
173 | -- yes, we're a bit wasteful on garbage, but this is a fringe case, so we're picking low implementation overhead over garbage efficiency
174 | registry.insertQueue = registry.insertQueue or setmetatable({},meta)
175 | registry.insertQueue[eventname][self] = regfunc
176 | end
177 | end
178 |
179 | -- Unregister a callback
180 | target[UnregisterName] = function(self, eventname)
181 | if not self or self==target then
182 | error("Usage: "..UnregisterName.."(eventname): bad 'self'", 2)
183 | end
184 | if type(eventname) ~= "string" then
185 | error("Usage: "..UnregisterName.."(eventname): 'eventname' - string expected.", 2)
186 | end
187 | if rawget(events, eventname) and events[eventname][self] then
188 | events[eventname][self] = nil
189 | -- Fire OnUnused callback?
190 | if registry.OnUnused and not next(events[eventname]) then
191 | registry.OnUnused(registry, target, eventname)
192 | end
193 | end
194 | if registry.insertQueue and rawget(registry.insertQueue, eventname) and registry.insertQueue[eventname][self] then
195 | registry.insertQueue[eventname][self] = nil
196 | end
197 | end
198 |
199 | -- OPTIONAL: Unregister all callbacks for given selfs/addonIds
200 | if UnregisterAllName then
201 | target[UnregisterAllName] = function(...)
202 | if select("#",...)<1 then
203 | error("Usage: "..UnregisterAllName.."([whatFor]): missing 'self' or \"addonId\" to unregister events for.", 2)
204 | end
205 | if select("#",...)==1 and ...==target then
206 | error("Usage: "..UnregisterAllName.."([whatFor]): supply a meaningful 'self' or \"addonId\"", 2)
207 | end
208 |
209 |
210 | for i=1,select("#",...) do
211 | local self = select(i,...)
212 | if registry.insertQueue then
213 | for eventname, callbacks in pairs(registry.insertQueue) do
214 | if callbacks[self] then
215 | callbacks[self] = nil
216 | end
217 | end
218 | end
219 | for eventname, callbacks in pairs(events) do
220 | if callbacks[self] then
221 | callbacks[self] = nil
222 | -- Fire OnUnused callback?
223 | if registry.OnUnused and not next(callbacks) then
224 | registry.OnUnused(registry, target, eventname)
225 | end
226 | end
227 | end
228 | end
229 | end
230 | end
231 |
232 | return registry
233 | end
234 |
235 |
236 | -- CallbackHandler purposefully does NOT do explicit embedding. Nor does it
237 | -- try to upgrade old implicit embeds since the system is selfcontained and
238 | -- relies on closures to work.
239 |
240 |
--------------------------------------------------------------------------------
/AtlasLoot/Libs/AceSerializer-3.0/AceSerializer-3.0.lua:
--------------------------------------------------------------------------------
1 | --- **AceSerializer-3.0** can serialize any variable (except functions or userdata) into a string format,
2 | -- that can be send over the addon comm channel. AceSerializer was designed to keep all data intact, especially
3 | -- very large numbers or floating point numbers, and table structures. The only caveat currently is, that multiple
4 | -- references to the same table will be send individually.
5 | --
6 | -- **AceSerializer-3.0** can be embeded into your addon, either explicitly by calling AceSerializer:Embed(MyAddon) or by
7 | -- specifying it as an embeded library in your AceAddon. All functions will be available on your addon object
8 | -- and can be accessed directly, without having to explicitly call AceSerializer itself.\\
9 | -- It is recommended to embed AceSerializer, otherwise you'll have to specify a custom `self` on all calls you
10 | -- make into AceSerializer.
11 | -- @class file
12 | -- @name AceSerializer-3.0
13 | -- @release $Id: AceSerializer-3.0.lua 910 2010-02-11 21:54:24Z mikk $
14 | local MAJOR,MINOR = "AceSerializer-3.0", 3
15 | local AceSerializer, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
16 |
17 | if not AceSerializer then return end
18 |
19 | -- Lua APIs
20 | local strbyte, strchar, gsub, gmatch, format = string.byte, string.char, string.gsub, string.gmatch, string.format
21 | local assert, error, pcall = assert, error, pcall
22 | local type, tostring, tonumber = type, tostring, tonumber
23 | local pairs, select, frexp = pairs, select, math.frexp
24 | local tconcat = table.concat
25 |
26 | -- quick copies of string representations of wonky numbers
27 | local serNaN = tostring(0/0)
28 | local serInf = tostring(1/0)
29 | local serNegInf = tostring(-1/0)
30 |
31 |
32 | -- Serialization functions
33 |
34 | local function SerializeStringHelper(ch) -- Used by SerializeValue for strings
35 | -- We use \126 ("~") as an escape character for all nonprints plus a few more
36 | local n = strbyte(ch)
37 | if n==30 then -- v3 / ticket 115: catch a nonprint that ends up being "~^" when encoded... DOH
38 | return "\126\122"
39 | elseif n<=32 then -- nonprint + space
40 | return "\126"..strchar(n+64)
41 | elseif n==94 then -- value separator
42 | return "\126\125"
43 | elseif n==126 then -- our own escape character
44 | return "\126\124"
45 | elseif n==127 then -- nonprint (DEL)
46 | return "\126\123"
47 | else
48 | assert(false) -- can't be reached if caller uses a sane regex
49 | end
50 | end
51 |
52 | local function SerializeValue(v, res, nres)
53 | -- We use "^" as a value separator, followed by one byte for type indicator
54 | local t=type(v)
55 |
56 | if t=="string" then -- ^S = string (escaped to remove nonprints, "^"s, etc)
57 | res[nres+1] = "^S"
58 | res[nres+2] = gsub(v,"[%c \94\126\127]", SerializeStringHelper)
59 | nres=nres+2
60 |
61 | elseif t=="number" then -- ^N = number (just tostring()ed) or ^F (float components)
62 | local str = tostring(v)
63 | if tonumber(str)==v or str==serNaN or str==serInf or str==serNegInf then
64 | -- translates just fine, transmit as-is
65 | res[nres+1] = "^N"
66 | res[nres+2] = str
67 | nres=nres+2
68 | else
69 | local m,e = frexp(v)
70 | res[nres+1] = "^F"
71 | res[nres+2] = format("%.0f",m*2^53) -- force mantissa to become integer (it's originally 0.5--0.9999)
72 | res[nres+3] = "^f"
73 | res[nres+4] = tostring(e-53) -- adjust exponent to counteract mantissa manipulation
74 | nres=nres+4
75 | end
76 |
77 | elseif t=="table" then -- ^T...^t = table (list of key,value pairs)
78 | nres=nres+1
79 | res[nres] = "^T"
80 | for k,v in pairs(v) do
81 | nres = SerializeValue(k, res, nres)
82 | nres = SerializeValue(v, res, nres)
83 | end
84 | nres=nres+1
85 | res[nres] = "^t"
86 |
87 | elseif t=="boolean" then -- ^B = true, ^b = false
88 | nres=nres+1
89 | if v then
90 | res[nres] = "^B" -- true
91 | else
92 | res[nres] = "^b" -- false
93 | end
94 |
95 | elseif t=="nil" then -- ^Z = nil (zero, "N" was taken :P)
96 | nres=nres+1
97 | res[nres] = "^Z"
98 |
99 | else
100 | error(MAJOR..": Cannot serialize a value of type '"..t.."'") -- can't produce error on right level, this is wildly recursive
101 | end
102 |
103 | return nres
104 | end
105 |
106 |
107 |
108 | local serializeTbl = { "^1" } -- "^1" = Hi, I'm data serialized by AceSerializer protocol rev 1
109 |
110 | --- Serialize the data passed into the function.
111 | -- Takes a list of values (strings, numbers, booleans, nils, tables)
112 | -- and returns it in serialized form (a string).\\
113 | -- May throw errors on invalid data types.
114 | -- @param ... List of values to serialize
115 | -- @return The data in its serialized form (string)
116 | function AceSerializer:Serialize(...)
117 | local nres = 1
118 |
119 | for i=1,select("#", ...) do
120 | local v = select(i, ...)
121 | nres = SerializeValue(v, serializeTbl, nres)
122 | end
123 |
124 | serializeTbl[nres+1] = "^^" -- "^^" = End of serialized data
125 |
126 | return tconcat(serializeTbl, "", 1, nres+1)
127 | end
128 |
129 | -- Deserialization functions
130 | local function DeserializeStringHelper(escape)
131 | if escape<"~\122" then
132 | return strchar(strbyte(escape,2,2)-64)
133 | elseif escape=="~\122" then -- v3 / ticket 115: special case encode since 30+64=94 ("^") - OOPS.
134 | return "\030"
135 | elseif escape=="~\123" then
136 | return "\127"
137 | elseif escape=="~\124" then
138 | return "\126"
139 | elseif escape=="~\125" then
140 | return "\94"
141 | end
142 | error("DeserializeStringHelper got called for '"..escape.."'?!?") -- can't be reached unless regex is screwed up
143 | end
144 |
145 | local function DeserializeNumberHelper(number)
146 | if number == serNaN then
147 | return 0/0
148 | elseif number == serNegInf then
149 | return -1/0
150 | elseif number == serInf then
151 | return 1/0
152 | else
153 | return tonumber(number)
154 | end
155 | end
156 |
157 | -- DeserializeValue: worker function for :Deserialize()
158 | -- It works in two modes:
159 | -- Main (top-level) mode: Deserialize a list of values and return them all
160 | -- Recursive (table) mode: Deserialize only a single value (_may_ of course be another table with lots of subvalues in it)
161 | --
162 | -- The function _always_ works recursively due to having to build a list of values to return
163 | --
164 | -- Callers are expected to pcall(DeserializeValue) to trap errors
165 |
166 | local function DeserializeValue(iter,single,ctl,data)
167 |
168 | if not single then
169 | ctl,data = iter()
170 | end
171 |
172 | if not ctl then
173 | error("Supplied data misses AceSerializer terminator ('^^')")
174 | end
175 |
176 | if ctl=="^^" then
177 | -- ignore extraneous data
178 | return
179 | end
180 |
181 | local res
182 |
183 | if ctl=="^S" then
184 | res = gsub(data, "~.", DeserializeStringHelper)
185 | elseif ctl=="^N" then
186 | res = DeserializeNumberHelper(data)
187 | if not res then
188 | error("Invalid serialized number: '"..tostring(data).."'")
189 | end
190 | elseif ctl=="^F" then -- ^F^f
191 | local ctl2,e = iter()
192 | if ctl2~="^f" then
193 | error("Invalid serialized floating-point number, expected '^f', not '"..tostring(ctl2).."'")
194 | end
195 | local m=tonumber(data)
196 | e=tonumber(e)
197 | if not (m and e) then
198 | error("Invalid serialized floating-point number, expected mantissa and exponent, got '"..tostring(m).."' and '"..tostring(e).."'")
199 | end
200 | res = m*(2^e)
201 | elseif ctl=="^B" then -- yeah yeah ignore data portion
202 | res = true
203 | elseif ctl=="^b" then -- yeah yeah ignore data portion
204 | res = false
205 | elseif ctl=="^Z" then -- yeah yeah ignore data portion
206 | res = nil
207 | elseif ctl=="^T" then
208 | -- ignore ^T's data, future extensibility?
209 | res = {}
210 | local k,v
211 | while true do
212 | ctl,data = iter()
213 | if ctl=="^t" then break end -- ignore ^t's data
214 | k = DeserializeValue(iter,true,ctl,data)
215 | if k==nil then
216 | error("Invalid AceSerializer table format (no table end marker)")
217 | end
218 | ctl,data = iter()
219 | v = DeserializeValue(iter,true,ctl,data)
220 | if v==nil then
221 | error("Invalid AceSerializer table format (no table end marker)")
222 | end
223 | res[k]=v
224 | end
225 | else
226 | error("Invalid AceSerializer control code '"..ctl.."'")
227 | end
228 |
229 | if not single then
230 | return res,DeserializeValue(iter)
231 | else
232 | return res
233 | end
234 | end
235 |
236 | --- Deserializes the data into its original values.
237 | -- Accepts serialized data, ignoring all control characters and whitespace.
238 | -- @param str The serialized data (from :Serialize)
239 | -- @return true followed by a list of values, OR false followed by an error message
240 | function AceSerializer:Deserialize(str)
241 | str = gsub(str, "[%c ]", "") -- ignore all control characters; nice for embedding in email and stuff
242 |
243 | local iter = gmatch(str, "(^.)([^^]*)") -- Any ^x followed by string of non-^
244 | local ctl,data = iter()
245 | if not ctl or ctl~="^1" then
246 | -- we purposefully ignore the data portion of the start code, it can be used as an extension mechanism
247 | return false, "Supplied data is not AceSerializer data (rev 1)"
248 | end
249 |
250 | return pcall(DeserializeValue, iter)
251 | end
252 |
253 |
254 | ----------------------------------------
255 | -- Base library stuff
256 | ----------------------------------------
257 |
258 | AceSerializer.internals = { -- for test scripts
259 | SerializeValue = SerializeValue,
260 | SerializeStringHelper = SerializeStringHelper,
261 | }
262 |
263 | local mixins = {
264 | "Serialize",
265 | "Deserialize",
266 | }
267 |
268 | AceSerializer.embeds = AceSerializer.embeds or {}
269 |
270 | function AceSerializer:Embed(target)
271 | for k, v in pairs(mixins) do
272 | target[v] = self[v]
273 | end
274 | self.embeds[target] = true
275 | return target
276 | end
277 |
278 | -- Update embeds
279 | for target, v in pairs(AceSerializer.embeds) do
280 | AceSerializer:Embed(target)
281 | end
--------------------------------------------------------------------------------