diff --git a/ElvUI_SLE/libs/LibProcessable/Changelog-LibProcessable-13.txt b/ElvUI_SLE/libs/LibProcessable/Changelog-LibProcessable-13.txt new file mode 100644 index 0000000..d6eec2d --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/Changelog-LibProcessable-13.txt @@ -0,0 +1,14 @@ +tag 13 +1b2c99d765ecdfeac2091b79dea1d989b4244e45 +Adrian L Lange <mail@p3lim.net> +2016-08-26 04:28:18 +0200 + +Tag 13 + + +-------------------- + +Adrian L Lange: + - Update version + - Kill all humans + Fixes #12 diff --git a/ElvUI_SLE/libs/LibProcessable/LICENSE.txt b/ElvUI_SLE/libs/LibProcessable/LICENSE.txt new file mode 100644 index 0000000..a63acc9 --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/LICENSE.txt @@ -0,0 +1,34 @@ +Copyright (c) 2015-2016 Adrian L Lange <addons@p3lim.net> + +All rights reserved. + +Permission is granted for anyone to use, read, or otherwise interpret +this software for any purpose, without any restrictions. + +Permission is granted for anyone to modify this software or sample from +it, and to distribute such modified versions or derivative works as long +as neither the names of this software nor its author(s) are used in the +name or title of the work or in any other way that may cause it to be +confused with this software. + +Permission is granted for anyone to aggregate this software with other +works not derived from this software for the purpose of creating an +"AddOn" for "World of Warcraft" and to distribute said "AddOn" as +long as the software is not modified in any way, except removing any files +(such as the included embedded "library", LibStub) other than this license. + +This software may not be distributed standalone or in any other way, in +whole or in part, modified or unmodified, without specific prior written +permission from the author(s) of this software. + +The names of this software and/or its author(s) may not be used to +promote or endorse works derived from this software without specific +prior written permission from the author(s) of this software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/ElvUI_SLE/libs/LibProcessable/LibProcessable.lua b/ElvUI_SLE/libs/LibProcessable/LibProcessable.lua new file mode 100644 index 0000000..9be6bcb --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/LibProcessable.lua @@ -0,0 +1,582 @@ +local MAJOR, MINOR = 'LibProcessable', 13 +assert(LibStub, MAJOR .. ' requires LibStub') + +local lib, oldMinor = LibStub:NewLibrary(MAJOR, MINOR) +if(not lib) then + return +end + +local hasEnchantingBuilding +local inscriptionSkill, jewelcraftingSkill, enchantingSkill, blacksmithingSkill + +local MILLING, MORTAR = 51005, 114942 +--- API to verify if an item can be processed through the Milling skill or with the Draenic Mortar. +-- @name LibProcessable:IsMillable +-- @usage LibStub('LibProcessable'):IsMillable(itemID[, ignoreMortar]) +-- @param itemID The itemID of the item to check against +-- @param ignoreMortar Ignore the Draenic Mortar, an item to mill Draenor herbs without needing Inscription +-- @return isMillable Boolean indicating if the player can process the item +-- @return skillRequired Number representing the required skill to process the item +-- @return skillLevel Number representing the player's skill in Inscription +-- @return mortarItemID Number representing the Draenic Mortar, if used +function lib:IsMillable(itemID, ignoreMortar) + assert(tonumber(itemID), 'itemID needs to be a number or convertable to a number') + itemID = tonumber(itemID) + + if(IsSpellKnown(MILLING)) then + local skillRequired = lib.herbs[itemID] + return skillRequired and skillRequired <= inscriptionSkill, skillRequired, inscriptionSkill + elseif(not ignoreMortar and GetItemCount(MORTAR) > 0) then + return itemID >= 109124 and itemID <= 109130, 1, nil, MORTAR + end +end + +local PROSPECTING = 31252 +--- API to verify if an item can be processed through the Prospecting skill. +-- @name LibProcessable:IsProspectable +-- @usage LibStub('LibProcessable'):IsProspectable(itemID) +-- @param itemID The itemID of the item to check against +-- @return isProspectable Boolean indicating if the player can process the item +-- @return skillRequired Number representing the required skill to process the item +-- @return skillLevel Number representing the player's skill in Jewelcrafting +function lib:IsProspectable(itemID) + assert(tonumber(itemID), 'itemID needs to be a number or convertable to a number') + itemID = tonumber(itemID) + + if(IsSpellKnown(PROSPECTING)) then + local skillRequired = lib.ores[itemID] + return skillRequired and skillRequired <= jewelcraftingSkill, skillRequired, jewelcraftingSkill + end +end + +-- https://gist.github.com/p3lim/57acb053b3efccad0275 +local function GetSkillRequired(class, quality, level) + if(class == 2) then + if(quality == 2) then + if(level > 449) then + return 0 + elseif(level > 416) then + return 475 + elseif(level > 403) then + return 475 + elseif(level > 390) then + return 475 + elseif(level > 377) then + return 475 + elseif(level > 363) then + return 475 + elseif(level > 312) then + return 425 + elseif(level > 305) then + return 425 + elseif(level > 289) then + return 425 + elseif(level > 272) then + return 425 + elseif(level > 200) then + return 425 + elseif(level > 153) then + return 350 + elseif(level > 120) then + return 325 + elseif(level > 99) then + return 275 + elseif(level > 79) then + return 225 + elseif(level > 65) then + return 225 + elseif(level > 60) then + return 225 + elseif(level > 55) then + return 200 + elseif(level > 50) then + return 175 + elseif(level > 45) then + return 150 + elseif(level > 40) then + return 125 + elseif(level > 35) then + return 100 + elseif(level > 30) then + return 75 + elseif(level > 25) then + return 50 + elseif(level > 20) then + return 25 + else + return 1 + end + elseif(quality == 3) then + if(level > 499) then + return 0 + elseif(level > 424) then + return 550 + elseif(level > 377) then + return 525 + elseif(level > 316) then + return 450 + elseif(level > 200) then + return 450 + elseif(level > 166) then + return 325 + elseif(level > 115) then + return 325 + elseif(level > 99) then + return 275 + elseif(level > 79) then + return 225 + elseif(level > 65) then + return 225 + elseif(level > 60) then + return 225 + elseif(level > 55) then + return 200 + elseif(level > 50) then + return 175 + elseif(level > 45) then + return 150 + elseif(level > 40) then + return 125 + elseif(level > 35) then + return 100 + elseif(level > 30) then + return 75 + elseif(level > 25) then + return 50 + else + return 25 + end + elseif(quality == 4) then + if(level > 599) then + return 0 + elseif(level > 419) then + return 575 + elseif(level > 299) then + return 475 + elseif(level > 199) then + return 375 + elseif(level > 99) then + return 300 + elseif(level > 65) then + return 225 + elseif(level > 60) then + return 225 + elseif(level > 55) then + return 200 + elseif(level > 50) then + return 175 + elseif(level > 45) then + return 150 + elseif(level > 40) then + return 125 + elseif(level > 35) then + return 100 + elseif(level > 30) then + return 75 + elseif(level > 25) then + return 50 + else + return 25 + end + end + elseif(class == 4) then + if(quality == 2) then + if(level > 449) then + return 0 + elseif(level > 416) then + return 475 + elseif(level > 403) then + return 475 + elseif(level > 390) then + return 475 + elseif(level > 377) then + return 475 + elseif(level > 363) then + return 475 + elseif(level > 312) then + return 425 + elseif(level > 305) then + return 425 + elseif(level > 289) then + return 425 + elseif(level > 272) then + return 425 + elseif(level > 200) then + return 425 + elseif(level > 153) then + return 350 + elseif(level > 120) then + return 325 + elseif(level > 99) then + return 275 + elseif(level > 79) then + return 225 + elseif(level > 65) then + return 225 + elseif(level > 60) then + return 225 + elseif(level > 55) then + return 200 + elseif(level > 50) then + return 175 + elseif(level > 45) then + return 150 + elseif(level > 40) then + return 125 + elseif(level > 35) then + return 100 + elseif(level > 30) then + return 75 + elseif(level > 25) then + return 50 + elseif(level > 20) then + return 25 + else + return 1 + end + elseif(quality == 3) then + if(level > 499) then + return 0 + elseif(level > 424) then + return 550 + elseif(level > 377) then + return 525 + elseif(level > 316) then + return 450 + elseif(level > 200) then + return 450 + elseif(level > 166) then + return 325 + elseif(level > 115) then + return 325 + elseif(level > 99) then + return 275 + elseif(level > 79) then + return 225 + elseif(level > 65) then + return 225 + elseif(level > 60) then + return 225 + elseif(level > 55) then + return 200 + elseif(level > 50) then + return 175 + elseif(level > 45) then + return 150 + elseif(level > 40) then + return 125 + elseif(level > 35) then + return 100 + elseif(level > 30) then + return 75 + elseif(level > 25) then + return 50 + else + return 25 + end + elseif(quality == 4) then + if(level > 599) then + return 0 + elseif(level > 419) then + return 575 + elseif(level > 299) then + return 475 + elseif(level > 199) then + return 375 + elseif(level > 99) then + return 300 + elseif(level > 65) then + return 225 + elseif(level > 60) then + return 225 + elseif(level > 55) then + return 200 + elseif(level > 50) then + return 175 + elseif(level > 45) then + return 150 + elseif(level > 40) then + return 125 + elseif(level > 35) then + return 100 + elseif(level > 30) then + return 75 + elseif(level > 25) then + return 50 + else + return 25 + end + end + end +end + +local DISENCHANTING = 13262 +--- API to verify if an item can be processed through the Disenchanting skill or garrison buildings. +-- @name LibProcessable:IsDisenchantable +-- @usage LibStub('LibProcessable'):IsDisenchantable(itemID[, ignoreGarrison[, ignoreGarrisonBuildingRequirement]]) +-- @param itemID The itemID of the item to check against +-- @param ignoreGarrison Ignore the garrison enchanting buildings +-- @param ignoreGarrisonBuildingRequirement Ignore the garrison enchanting building requirement +-- @return isDisenchantable Boolean indicating if the player can process the item +-- @return skillRequired Number representing the required skill to process the item +-- @return skillLevel Number representing the player's skill in Enchanting +function lib:IsDisenchantable(itemID, ignoreGarrison, ignoreGarrisonBuildingRequirement) + assert(tonumber(itemID), 'itemID needs to be a number or convertable to a number') + itemID = tonumber(itemID) + + if(IsSpellKnown(DISENCHANTING)) then + local _, _, quality, level, _, type, _, _, _, _, _, class = GetItemInfo(itemID) + if(IsEquippableItem(itemID) and quality and level) then + local skillRequired = GetSkillRequired(class, quality, level) + return skillRequired and skillRequired <= enchantingSkill, skillRequired, enchantingSkill + end + elseif(not ignoreGarrison and (hasEnchantingBuilding or ignoreGarrisonBuildingRequirement)) then + local _, _, quality, level, _, type, _, _, _, _, _, class = GetItemInfo(itemID) + if(IsEquippableItem(itemID) and quality and level) then + local skillRequired = GetSkillRequired(class, quality, level) + return skillRequired and skillRequired == 0, skillRequired, enchantingSkill + end + end +end + +-- http://www.wowhead.com/items/name:key?filter=86;2;0 +local function GetSkeletonKey(pickLevel) + if(pickLevel > 425) then + return 82960, 500 -- Ghostly Skeleton Key + elseif(pickLevel > 400) then + return 55053, 475 -- Obsidium Skeleton Key + elseif(pickLevel > 375) then + return 43853, 430 -- Titanium Skeleton Key + elseif(pickLevel > 300) then + return 43854, 350 -- Cobalt Skeleton Key + elseif(pickLevel > 200) then + return 15872, 275 -- Arcanite Skeleton Key + elseif(pickLevel > 125) then + return 15871, 200 -- Truesilver Skeleton Key + elseif(pickLevel > 25) then + return 15870, 150 -- Golden Skeleton Key + else + return 15869, 100 -- Silver Skeleton Key + end +end + +-- http://www.wowhead.com/items/name:lock?filter=86;7;0 +local function GetJeweledLockpick(pickLevel) + if(pickLevel <= 750) then + return 130250, 1 + end +end + +local LOCKPICKING, BLACKSMITHING, JEWELCRAFTING = 1804, 2018, 25229 +--- API to verify if an item can be processed through the Lock Pick skill or with Blacksmithing skeleton keys. +-- @name LibProcessable:IsOpenable +-- @usage LibStub('LibProcessable'):IsOpenable(itemID[, ignoreProfessionKeys]) +-- @param itemID The itemID of the item to check against +-- @param ignoreProfessionKeys Ignore checking for Skeleton Keys +-- @return isOpenable Boolean indicating if the player can process the item +-- @return skillRequired Number representing the required skill in Lockpicking or Blacksmithing to process the item +-- @return skillLevel Number representing the player's skill in Lockpicking or Blacksmithing +-- @return skeletonKeyItemID Number representing the Skeleton Key, if used +function lib:IsOpenable(itemID, ignoreProfessionKeys) + assert(tonumber(itemID), 'itemID needs to be a number or convertable to a number') + itemID = tonumber(itemID) + + local pickLevel = lib.containers[itemID] + if(IsSpellKnown(LOCKPICKING)) then + local playerSkill = UnitLevel('player') * 5 + return pickLevel and pickLevel <= playerSkill, pickLevel, playerSkill + elseif(not ignoreProfessionKeys and pickLevel) then + if(GetSpellBookItemInfo(GetSpellInfo(BLACKSMITHING))) then + local skeletonKeyID, skillRequired = GetSkeletonKey(pickLevel) + return skillRequired <= blacksmithingSkill, skillRequired, blacksmithingSkill, skeletonKeyID + elseif(GetSpellBookItemInfo(GetSpellInfo(JEWELCRAFTING))) then + local lockpickID, skillRequired = GetJeweledLockpick(pickLevel) + return skillRequired <= jewelcraftingSkill, skillRequired, jewelcraftingSkill, lockpickID + end + end +end + +local Handler = CreateFrame('Frame') +Handler:RegisterEvent('SKILL_LINES_CHANGED') +Handler:RegisterEvent('GARRISON_BUILDING_PLACED') +Handler:RegisterEvent('GARRISON_BUILDING_REMOVED') +Handler:SetScript('OnEvent', function(self, event, ...) + if(event == 'SKILL_LINES_CHANGED') then + inscriptionSkill, jewelcraftingSkill, enchantingSkill, blacksmithingSkill = 0, 0, 0, 0 + + local first, second = GetProfessions() + if(first) then + local _, _, skill, _, _, _, id = GetProfessionInfo(first) + if(id == 773) then + inscriptionSkill = skill + elseif(id == 755) then + jewelcraftingSkill = skill + elseif(id == 333) then + enchantingSkill = skill + elseif(id == 164) then + blacksmithingSkill = skill + end + end + + if(second) then + local _, _, skill, _, _, _, id = GetProfessionInfo(second) + if(id == 773) then + inscriptionSkill = skill + elseif(id == 755) then + jewelcraftingSkill = skill + elseif(id == 333) then + enchantingSkill = skill + elseif(id == 164) then + blacksmithingSkill = skill + end + end + elseif(event == 'GARRISON_BUILDING_PLACED') then + local plotID = ... + local buildingID = C_Garrison.GetOwnedBuildingInfoAbbrev(plotID) + if(lib.enchantingBuildings[buildingID]) then + hasEnchantingBuilding = true + end + elseif(event == 'GARRISON_BUILDING_REMOVED') then + local _, buildingID = ... + if(lib.enchantingBuildings[buildingID]) then + hasEnchantingBuilding = false + end + end +end) + +-- https://gist.github.com/p3lim/04e614e59c0064100c7c +lib.herbs = { + [765] = 1, -- Silverleaf + [785] = 0, -- Mageroyal + [2447] = 1, -- Peacebloom + [2449] = 1, -- Earthroot + [2450] = 25, -- Briarthorn + [2452] = 25, -- Swiftthistle + [2453] = 25, -- Bruiseweed + [3355] = 75, -- Wild Steelbloom + [3356] = 75, -- Kingsblood + [3357] = 75, -- Liferoot + [3358] = 125, -- Khadgar's Whisker + [3369] = 75, -- Grave Moss + [3818] = 125, -- Fadeleaf + [3819] = 125, -- Dragon's Teeth + [3820] = 25, -- Stranglekelp + [3821] = 125, -- Goldthorn + [4625] = 175, -- Firebloom + [8831] = 175, -- Purple Lotus + [8836] = 175, -- Arthas' Tears + [8838] = 175, -- Sungrass + [8839] = 175, -- Blindweed + [8845] = 175, -- Ghost Mushroom + [8846] = 175, -- Gromsblood + [13463] = 225, -- Dreamfoil + [13464] = 225, -- Golden Sansam + [13465] = 225, -- Mountain Silversage + [13466] = 225, -- Sorrowmoss + [13467] = 200, -- Icecap + [22785] = 275, -- Felweed + [22786] = 275, -- Dreaming Glory + [22787] = 275, -- Ragveil + [22789] = 275, -- Terocone + [22790] = 275, -- Ancient Lichen + [22791] = 275, -- Netherbloom + [22792] = 275, -- Nightmare Vine + [22793] = 275, -- Mana Thistle + [36901] = 325, -- Goldclover + [36903] = 325, -- Adder's Tongue + [36904] = 325, -- Tiger Lily + [36905] = 325, -- Lichbloom + [36906] = 325, -- Icethorn + [36907] = 325, -- Talandra's Rose + [37921] = 325, -- Deadnettle + [39970] = 325, -- Fire Leaf + [52983] = 425, -- Cinderbloom + [52984] = 425, -- Stormvine + [52985] = 450, -- Azshara's Veil + [52986] = 450, -- Heartblossom + [52987] = 475, -- Twilight Jasmine + [52988] = 475, -- Whiptail + [72234] = 500, -- Green Tea Leaf + [72235] = 500, -- Silkweed + [72237] = 500, -- Rain Poppy + [79010] = 500, -- Snow Lily + [79011] = 500, -- Fool's Cap + [89639] = 500, -- Desecrated Herb + [109124] = 0, -- Frostweed + [109125] = 0, -- Fireweed + [109126] = 0, -- Gorgrond Flytrap + [109127] = 0, -- Starflower + [109128] = 0, -- Nagrand Arrowbloom + [109129] = 0, -- Talador Orchid + [109130] = 0, -- Chameleon Lotus + [124101] = 0, -- Aethril + [124102] = 0, -- Dreamleaf + [124103] = 0, -- Foxflower + [124104] = 0, -- Fjarnskaggl + [124105] = 0, -- Starlight Rose + [124106] = 0, -- Felwort + [128304] = 0, -- Yseralline Seed (this might be an error in the data files) +} + +-- https://gist.github.com/p3lim/5c0363251db4a110017b +lib.ores = { + [2770] = 1, -- Copper Ore + [2771] = 50, -- Tin Ore + [2772] = 125, -- Iron Ore + [3858] = 175, -- Mithril Ore + [10620] = 250, -- Thorium Ore + [23424] = 275, -- Fel Iron Ore + [23425] = 325, -- Adamantite Ore + [36909] = 350, -- Cobalt Ore + [36910] = 450, -- Titanium Ore + [36912] = 400, -- Saronite Ore + [52183] = 500, -- Pyrite Ore + [52185] = 475, -- Elementium Ore + [53038] = 425, -- Obsidium Ore + [72092] = 500, -- Ghost Iron Ore + [72093] = 550, -- Kyparite + [72094] = 600, -- Black Trillium Ore + [72103] = 600, -- White Trillium Ore + [123918] = 0, -- Leystone Ore + [123919] = 0, -- Felslate +} + +-- http://www.wowhead.com/items?filter=10:161:128;1:1:1;:: +lib.containers = { + [4632] = 1, -- Ornate Bronze Lockbox + [6354] = 1, -- Small Locked Chest + [16882] = 1, -- Battered Junkbox + [4633] = 25, -- Heavy Bronze Lockbox + [4634] = 70, -- Iron Lockbox + [6355] = 70, -- Sturdy Locked Chest + [16883] = 70, -- Worn Junkbox + [4636] = 125, -- Strong Iron Lockbox + [4637] = 175, -- Steel Lockbox + [13875] = 175, -- Ironbound Locked Chest + [16884] = 175, -- Sturdy Junkbox + [4638] = 225, -- Reinforced Steel Lockbox + [5758] = 225, -- Mithril Lockbox + [5759] = 225, -- Thorium Lockbox + [5760] = 225, -- Eternium Lockbox + [13918] = 250, -- Reinforced Locked Chest + [16885] = 250, -- Heavy Junkbox + [12033] = 275, -- Thaurissan Family Jewels + [29569] = 300, -- Strong Junkbox + [31952] = 325, -- Khorium Lockbox + [43575] = 350, -- Reinforced Junkbox + [43622] = 375, -- Froststeel Lockbox + [43624] = 400, -- Titanium Lockbox + [45986] = 400, -- Tiny Titanium Lockbox + [63349] = 400, -- Flame-Scarred Junkbox + [68729] = 425, -- Elementium Lockbox + [88567] = 450, -- Ghost Iron Lockbox + [88165] = 450, -- Vine-Cracked Junkbox + [106895] = 500, -- Iron-Bound Junkbox + [116920] = 500, -- True Steel Lockbox +} + +lib.enchantingBuildings = { + [93] = true, + [125] = true, + [126] = true, +} diff --git a/ElvUI_SLE/libs/LibProcessable/LibProcessable.toc b/ElvUI_SLE/libs/LibProcessable/LibProcessable.toc new file mode 100644 index 0000000..114e82b --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/LibProcessable.toc @@ -0,0 +1,12 @@ +## Interface: 70000 +## Author: p3lim +## Version: 13 +## Title: Lib: Processable +## Notes: Library that lets you easily check if you can process resources +## OptionalDeps: LibStub +## X-Curse-Packaged-Version: 13 +## X-Curse-Project-Name: LibProcessable +## X-Curse-Project-ID: libprocessable +## X-Curse-Repository-ID: wow/libprocessable/mainline + +embed.xml diff --git a/ElvUI_SLE/libs/LibProcessable/LibStub/LibStub.lua b/ElvUI_SLE/libs/LibProcessable/LibStub/LibStub.lua new file mode 100644 index 0000000..0a41ac0 --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/LibStub/LibStub.lua @@ -0,0 +1,30 @@ +-- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info +-- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke +local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS! +local LibStub = _G[LIBSTUB_MAJOR] + +if not LibStub or LibStub.minor < LIBSTUB_MINOR then + LibStub = LibStub or {libs = {}, minors = {} } + _G[LIBSTUB_MAJOR] = LibStub + LibStub.minor = LIBSTUB_MINOR + + function LibStub:NewLibrary(major, minor) + assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)") + minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.") + + local oldminor = self.minors[major] + if oldminor and oldminor >= minor then return nil end + self.minors[major], self.libs[major] = minor, self.libs[major] or {} + return self.libs[major], oldminor + end + + function LibStub:GetLibrary(major, silent) + if not self.libs[major] and not silent then + error(("Cannot find a library instance of %q."):format(tostring(major)), 2) + end + return self.libs[major], self.minors[major] + end + + function LibStub:IterateLibraries() return pairs(self.libs) end + setmetatable(LibStub, { __call = LibStub.GetLibrary }) +end diff --git a/ElvUI_SLE/libs/LibProcessable/LibStub/LibStub.toc b/ElvUI_SLE/libs/LibProcessable/LibStub/LibStub.toc new file mode 100644 index 0000000..17cf732 --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/LibStub/LibStub.toc @@ -0,0 +1,13 @@ +## Interface: 20400 +## Title: Lib: LibStub +## Notes: Universal Library Stub +## Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel +## X-Website: http://jira.wowace.com/browse/LS +## X-Category: Library +## X-License: Public Domain +## X-Curse-Packaged-Version: 1.0 +## X-Curse-Project-Name: LibStub +## X-Curse-Project-ID: libstub +## X-Curse-Repository-ID: wow/libstub/mainline + +LibStub.lua diff --git a/ElvUI_SLE/libs/LibProcessable/embed.xml b/ElvUI_SLE/libs/LibProcessable/embed.xml new file mode 100644 index 0000000..343b382 --- /dev/null +++ b/ElvUI_SLE/libs/LibProcessable/embed.xml @@ -0,0 +1,7 @@ +<Ui> + <!-- Libraries --> + <Script file='LibStub\LibStub.lua'/> + + <!-- Project --> + <Script file='LibProcessable.lua'/> +</Ui> diff --git a/ElvUI_SLE/libs/load_libs.xml b/ElvUI_SLE/libs/load_libs.xml index 7702f29..ff6b904 100644 --- a/ElvUI_SLE/libs/load_libs.xml +++ b/ElvUI_SLE/libs/load_libs.xml @@ -1 +1 @@ -<Ui xmlns="http://www.blizzard.com/wow/ui/"> <Script file="AceAddon-3.0\AceAddon-3.0.lua"/> <Script file="AceConsole-3.0\AceConsole-3.0.lua"/> <Include file="LibTourist-3.0\lib.xml" /> <Script file="AceDB-3.0\AceDB-3.0.lua"/> <Include file="LibElv-UIButtons-1.0\load_uibuttons.xml"/> <Include file="LibElv-GameMenu-1.0\LibElv-GameMenu-1.0.lua"/> <Script file="LibAnim\LibAnim.lua"/> <Script file="LibQTip-1.0\LibQTip-1.0.lua"/> <Script file="LibRangeCheck-2.0\LibRangeCheck-2.0.lua"/> <Include file="LibBabble-SubZone-3.0\lib.xml"/> <Include file="LibFishing-1.0\lib.xml" /> <Script file="oUF_OfflineSLE\oUF_OfflineSLE.lua"/> </Ui> \ No newline at end of file +<Ui xmlns="http://www.blizzard.com/wow/ui/"> <Script file="AceAddon-3.0\AceAddon-3.0.lua"/> <Script file="AceConsole-3.0\AceConsole-3.0.lua"/> <Include file="LibTourist-3.0\lib.xml" /> <Script file="AceDB-3.0\AceDB-3.0.lua"/> <Include file="LibElv-UIButtons-1.0\load_uibuttons.xml"/> <Include file="LibElv-GameMenu-1.0\LibElv-GameMenu-1.0.lua"/> <Script file="LibAnim\LibAnim.lua"/> <Script file="LibQTip-1.0\LibQTip-1.0.lua"/> <Script file="LibRangeCheck-2.0\LibRangeCheck-2.0.lua"/> <Include file="LibBabble-SubZone-3.0\lib.xml"/> <Include file="LibFishing-1.0\lib.xml" /> <Script file="oUF_OfflineSLE\oUF_OfflineSLE.lua"/> <Include file="LibProcessable\LibProcessable.lua"/> </Ui> \ No newline at end of file