|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
local L = LibStub("AceLocale-3.0"):GetLocale("Breakables", false)
|
|
|
|
|
Breakables = LibStub("AceAddon-3.0"):NewAddon("Breakables", "AceConsole-3.0", "AceEvent-3.0")
|
|
|
|
|
local babbleInv = LibStub("LibBabble-Inventory-3.0"):GetLookupTable()
|
|
|
|
|
local LBF = LibStub("LibButtonFacade", true)
|
|
|
|
|
local LBF = LibStub("Masque", true)
|
|
|
|
|
|
|
|
|
|
local lbfGroup
|
|
|
|
|
|
|
|
|
@ -10,6 +10,20 @@ local MillingItemSubType = babbleInv["Herb"]
|
|
|
|
|
local MillingItemSecondarySubType = babbleInv["Other"]
|
|
|
|
|
local CanMill = false
|
|
|
|
|
|
|
|
|
|
local AdditionalMillableItems = {
|
|
|
|
|
-- WoD herbs
|
|
|
|
|
109124,
|
|
|
|
|
109125,
|
|
|
|
|
109126,
|
|
|
|
|
109127,
|
|
|
|
|
109128,
|
|
|
|
|
109129,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
local UnProspectableItems = {
|
|
|
|
|
109119, -- WoD True Iron Ore
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
local ProspectingId = 31252
|
|
|
|
|
local ProspectingItemSubType = babbleInv["Metal & Stone"]
|
|
|
|
|
local CanProspect = false
|
|
|
|
@ -29,6 +43,7 @@ local PickableItems = {
|
|
|
|
|
43575, -- reinforced junkbox
|
|
|
|
|
63349, -- flame-scarred junkbox
|
|
|
|
|
88165, -- vine-cracked junkbox
|
|
|
|
|
106895, -- iron-bound junkbox
|
|
|
|
|
4632, -- ornate bronze lockbox
|
|
|
|
|
4633, -- heavy bronze lockbox
|
|
|
|
|
4634, -- iron lockbox
|
|
|
|
@ -44,6 +59,7 @@ local PickableItems = {
|
|
|
|
|
45986, -- tiny titanium lockbox
|
|
|
|
|
68729, -- elementium lockbox
|
|
|
|
|
88567, -- ghost iron lockbox
|
|
|
|
|
116920, -- true steel lockbox
|
|
|
|
|
}
|
|
|
|
|
local CanPickLock = false
|
|
|
|
|
|
|
|
|
@ -126,7 +142,7 @@ function Breakables:OnInitialize()
|
|
|
|
|
self:InitLDB()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function Breakables:ButtonFacadeCallback(SkinID, Gloss, Backdrop, Group, Button, Colors)
|
|
|
|
|
function Breakables:ButtonFacadeCallback(Group, SkinID, Gloss, Backdrop, Colors, Disabled)
|
|
|
|
|
if not Group then
|
|
|
|
|
self.settings.SkinID = SkinID
|
|
|
|
|
self.settings.Gloss = Gloss
|
|
|
|
@ -169,14 +185,11 @@ function Breakables:OnEnable()
|
|
|
|
|
self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Breakables")
|
|
|
|
|
|
|
|
|
|
if LBF then
|
|
|
|
|
LBF:RegisterSkinCallback("Breakables", self.ButtonFacadeCallback, self)
|
|
|
|
|
LBF:Register("Breakables", self.ButtonFacadeCallback, self)
|
|
|
|
|
|
|
|
|
|
lbfGroup = LBF:Group("Breakables")
|
|
|
|
|
if lbfGroup then
|
|
|
|
|
lbfGroup:Skin(self.settings.SkinID,
|
|
|
|
|
self.settings.Gloss,
|
|
|
|
|
self.settings.Backdrop,
|
|
|
|
|
self.settings.Colors)
|
|
|
|
|
lbfGroup:ReSkin()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -900,6 +913,7 @@ function Breakables:FindBreakablesInSlot(bagId, slotId)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local shouldHideThisItem = (self.settings.hideEqManagerItems and isInEquipmentSet) or (self.settings.hideTabards and isTabard)
|
|
|
|
|
or equipSlot == nil or equipSlot == ""
|
|
|
|
|
|
|
|
|
|
if (not soulbound or self.settings.showSoulbound) and not shouldHideThisItem then
|
|
|
|
|
return {itemLink, itemCount, itemType, itemTexture, bagId, slotId, itemSubType, itemLevel, BREAKABLE_DE, soulbound, itemName, itemRarity}
|
|
|
|
@ -923,6 +937,23 @@ function Breakables:FindBreakablesInSlot(bagId, slotId)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local itemId = self:GetItemIdFromLink(itemLink)
|
|
|
|
|
if CanMill and not millable then
|
|
|
|
|
for i=1,#AdditionalMillableItems do
|
|
|
|
|
if AdditionalMillableItems[i] == itemId then
|
|
|
|
|
millable = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CanProspect and prospectable then
|
|
|
|
|
for i=1,#UnProspectableItems do
|
|
|
|
|
if UnProspectableItems[i] == itemId then
|
|
|
|
|
prospectable = false
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CanMill --[[and (itemSubType == MillingItemSubType or itemSubType == MillingItemSecondarySubType)]] and millable then
|
|
|
|
|
return {itemLink, itemCount, itemType, itemTexture, bagId, slotId, itemSubType, itemLevel, BREAKABLE_HERB, false, itemName, itemRarity}
|
|
|
|
|
end
|
|
|
|
@ -931,7 +962,7 @@ function Breakables:FindBreakablesInSlot(bagId, slotId)
|
|
|
|
|
return {itemLink, itemCount, itemType, itemTexture, bagId, slotId, itemSubType, itemLevel, BREAKABLE_ORE, false, itemName, itemRarity}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CanPickLock and self:ItemIsPickable(self:GetItemIdFromLink(itemLink)) and self:ItemIsLocked(bagId, slotId) then
|
|
|
|
|
if CanPickLock and self:ItemIsPickable(itemId) and self:ItemIsLocked(bagId, slotId) then
|
|
|
|
|
return {itemLink, itemCount, itemType, itemTexture, bagId, slotId, itemSubType, itemLevel, BREAKABLE_PICK, false, itemName, itemRarity}
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|