mirror of
https://github.com/parnic/breakables.git
synced 2025-06-17 01:41:51 -05:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
93739030f4
|
|||
70fa098fc3
|
|||
154da46002
|
|||
0779f4c5ae
|
|||
6d3bef90c0
|
|||
abfc519084
|
|||
4c4f48d5d9
|
|||
1798e824b4
|
|||
481793c8ff
|
|||
7f53ef3d90
|
|||
4dce99e2ab
|
|||
92a4758371
|
|||
e01b0cdd78
|
7
.github/workflows/release.yml
vendored
7
.github/workflows/release.yml
vendored
@ -42,4 +42,9 @@ jobs:
|
||||
- name: Package and release for Classic
|
||||
uses: BigWigsMods/packager@master
|
||||
with:
|
||||
args: -g 1.13.5 -w 0
|
||||
args: -g classic -w 0
|
||||
|
||||
- name: Package and release for TBC
|
||||
uses: BigWigsMods/packager@master
|
||||
with:
|
||||
args: -g bcc -w 0
|
||||
|
106
Breakables.lua
106
Breakables.lua
@ -5,8 +5,16 @@ local LBF = LibStub("Masque", true)
|
||||
|
||||
local lbfGroup
|
||||
|
||||
local IsArtifactRelicItem = IsArtifactRelicItem
|
||||
if not IsArtifactRelicItem then
|
||||
IsArtifactRelicItem = function()
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
local WowVer = select(4, GetBuildInfo())
|
||||
local IsClassic = WOW_PROJECT_ID and WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
|
||||
local IsClassicBC = WOW_PROJECT_ID and WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC
|
||||
|
||||
local MillingId = 51005
|
||||
local MillingItemSubType = babbleInv["Herb"]
|
||||
@ -46,6 +54,7 @@ local AdditionalMillableItems = {
|
||||
168583, -- widowbloom
|
||||
169701, -- death blossom
|
||||
171315, -- nightshade
|
||||
187699, -- first flower, 9.2.0
|
||||
}
|
||||
|
||||
local AdditionalProspectableItems = {
|
||||
@ -65,6 +74,7 @@ local AdditionalProspectableItems = {
|
||||
171830, -- oxxein
|
||||
171831, -- phaedrum
|
||||
171832, -- sinvyr
|
||||
187700, -- progenium ore, 9.2.0
|
||||
}
|
||||
|
||||
local MassMilling = {
|
||||
@ -91,6 +101,7 @@ local MassMilling = {
|
||||
[168583] = 311415,
|
||||
[169701] = 311413,
|
||||
[171315] = 311418,
|
||||
[187699] = 359490,
|
||||
}
|
||||
|
||||
local HerbCombineItems = {
|
||||
@ -178,6 +189,7 @@ local PickableItems = {
|
||||
180532, -- maldraxxi
|
||||
180533, -- kyrian
|
||||
180522, -- night fae
|
||||
186161, -- stygian lockbox, 9.1.0
|
||||
}
|
||||
local CanPickLock = false
|
||||
|
||||
@ -237,10 +249,13 @@ function Breakables:OnInitialize()
|
||||
hideEqManagerItems = true,
|
||||
hide = false,
|
||||
hideInCombat = false,
|
||||
hideInPetBattle = true,
|
||||
buttonScale = 1,
|
||||
fontSize = 11,
|
||||
growDirection = 2,
|
||||
ignoreList = {},
|
||||
showTooltipForBreakables = true,
|
||||
showTooltipForProfession = true,
|
||||
}
|
||||
}
|
||||
self.db = LibStub("AceDB-3.0"):New("BreakablesDB", self.defaults, true)
|
||||
@ -380,6 +395,11 @@ function Breakables:RegisterEvents()
|
||||
if CanPickLock then
|
||||
self:RegisterEvent("CHAT_MSG_OPENING", "OnBagItemLockPicked")
|
||||
end
|
||||
|
||||
if UnitCanPetBattle then
|
||||
self:RegisterEvent("PET_BATTLE_OPENING_START", "PetBattleStarted")
|
||||
self:RegisterEvent("PET_BATTLE_OVER", "PetBattleEnded")
|
||||
end
|
||||
end
|
||||
|
||||
function Breakables:OnModifierChanged()
|
||||
@ -448,6 +468,16 @@ function Breakables:OnBagItemLockPicked()
|
||||
self:FindBreakables()
|
||||
end
|
||||
|
||||
function Breakables:PetBattleStarted()
|
||||
if self.settings.hideInPetBattle then
|
||||
self:ToggleButtonFrameVisibility(false)
|
||||
end
|
||||
end
|
||||
|
||||
function Breakables:PetBattleEnded()
|
||||
self:ToggleButtonFrameVisibility(true)
|
||||
end
|
||||
|
||||
function Breakables:FindLevelOfProfessionIndex(idx)
|
||||
if idx ~= nil then
|
||||
local name, texture, rank, maxRank, numSpells, spelloffset, skillLine = GetProfessionInfo(idx)
|
||||
@ -627,6 +657,36 @@ function Breakables:GetOptions()
|
||||
end,
|
||||
order = 7,
|
||||
},
|
||||
showTooltipForBreakables = {
|
||||
type = "toggle",
|
||||
name = L["Show tooltip on breakables"],
|
||||
desc = L["Whether or not to show an item tooltip when hovering over a breakable item button."],
|
||||
get = function(info)
|
||||
return self.settings.showTooltipForBreakables
|
||||
end,
|
||||
set = function(info, v)
|
||||
self.settings.showTooltipForBreakables = v
|
||||
if info.uiType == "cmd" then
|
||||
print("|cff33ff99Breakables|r: set |cffffff78showTooltipForBreakables|r to " .. tostring(self.settings.showTooltipForBreakables))
|
||||
end
|
||||
end,
|
||||
order = 8,
|
||||
},
|
||||
showTooltipForProfession = {
|
||||
type = "toggle",
|
||||
name = L["Show tooltip on profession"],
|
||||
desc = L["Whether or not to show an item tooltip when hovering over a profession button on the Breakables bar."],
|
||||
get = function(info)
|
||||
return self.settings.showTooltipForProfession
|
||||
end,
|
||||
set = function(info, v)
|
||||
self.settings.showTooltipForProfession = v
|
||||
if info.uiType == "cmd" then
|
||||
print("|cff33ff99Breakables|r: set |cffffff78showTooltipForProfession|r to " .. tostring(self.settings.showTooltipForProfession))
|
||||
end
|
||||
end,
|
||||
order = 9,
|
||||
},
|
||||
ignoreList = {
|
||||
type = 'multiselect',
|
||||
name = L["Ignore list"],
|
||||
@ -721,6 +781,24 @@ function Breakables:GetOptions()
|
||||
end
|
||||
end
|
||||
|
||||
if UnitCanPetBattle then
|
||||
opts.args.hideInPetBattle = {
|
||||
type = "toggle",
|
||||
name = L["Hide during pet battles"],
|
||||
desc = L["Whether or not to hide the breakables bar when you enter a pet battle."],
|
||||
get = function(info)
|
||||
return self.settings.hideInPetBattle
|
||||
end,
|
||||
set = function(info, v)
|
||||
self.settings.hideInPetBattle = v
|
||||
if info.uiType == "cmd" then
|
||||
print("|cff33ff99Breakables|r: set |cffffff78hideInPetBattle|r to " .. tostring(self.settings.hideInPetBattle))
|
||||
end
|
||||
end,
|
||||
order = 3.5,
|
||||
}
|
||||
end
|
||||
|
||||
return opts
|
||||
end
|
||||
|
||||
@ -1047,7 +1125,7 @@ end
|
||||
|
||||
function Breakables:OnEnterProfessionButton(btn)
|
||||
local spellId = self:GetSpellIdFromProfessionButton(btn.type)
|
||||
if spellId then
|
||||
if spellId and self.settings.showTooltipForProfession then
|
||||
GameTooltip:SetOwner(btn, "ANCHOR_BOTTOMLEFT")
|
||||
GameTooltip:SetSpellByID(spellId)
|
||||
|
||||
@ -1062,20 +1140,24 @@ function Breakables:OnLeaveProfessionButton()
|
||||
end
|
||||
|
||||
function Breakables:OnEnterBreakableButton(this)
|
||||
GameTooltip:SetOwner(this, "ANCHOR_BOTTOMLEFT")
|
||||
GameTooltip:SetBagItem(this.bag, this.slot)
|
||||
if self.settings.showTooltipForBreakables then
|
||||
GameTooltip:SetOwner(this, "ANCHOR_BOTTOMLEFT")
|
||||
GameTooltip:SetBagItem(this.bag, this.slot)
|
||||
|
||||
GameTooltip:AddLine(" ")
|
||||
GameTooltip:AddLine(L["You can click on this button to break this item without having to click on the profession button first."], 1, 1, 1, 1)
|
||||
GameTooltip:AddLine(" ")
|
||||
GameTooltip:AddLine(L["You can right-click on this button to ignore this item. Items can be unignored from the options screen."], 1, 1, 1, 1)
|
||||
GameTooltip:Show()
|
||||
showingTooltip = this
|
||||
GameTooltip:AddLine(" ")
|
||||
GameTooltip:AddLine(L["You can click on this button to break this item without having to click on the profession button first."], 1, 1, 1, 1)
|
||||
GameTooltip:AddLine(" ")
|
||||
GameTooltip:AddLine(L["You can right-click on this button to ignore this item. Items can be unignored from the options screen."], 1, 1, 1, 1)
|
||||
GameTooltip:Show()
|
||||
showingTooltip = this
|
||||
end
|
||||
end
|
||||
|
||||
function Breakables:OnLeaveBreakableButton()
|
||||
GameTooltip:Hide()
|
||||
showingTooltip = nil
|
||||
if showingTooltip then
|
||||
GameTooltip:Hide()
|
||||
showingTooltip = nil
|
||||
end
|
||||
end
|
||||
|
||||
function Breakables:PostClickedBreakableButton(this)
|
||||
@ -1339,7 +1421,7 @@ function Breakables:BreakableIsDisenchantable(itemType, itemLevel, itemRarity, i
|
||||
for i=1,#DisenchantTypes do
|
||||
if DisenchantTypes[i] == itemType or IsArtifactRelicItem(itemLink) then
|
||||
-- temp hack for bfa until disenchant item level scales are identified. and for classic until finding the profession level api
|
||||
if WowVer >= 80000 or IsClassic then
|
||||
if WowVer >= 80000 or IsClassic or IsClassicBC then
|
||||
return true
|
||||
end
|
||||
|
||||
|
@ -1,9 +1,7 @@
|
||||
#@retail@
|
||||
## Interface: 90005
|
||||
#@end-retail@
|
||||
#@non-retail@
|
||||
# ## Interface: 11305
|
||||
#@end-non-retail@
|
||||
## Interface: 90205
|
||||
## Interface-Retail: 90205
|
||||
## Interface-Classic: 11403
|
||||
## Interface-BCC: 20504
|
||||
## Author: Parnic
|
||||
## Name: Breakables
|
||||
## Title: Breakables |cff7fff7f-Ace3-|r
|
||||
|
@ -1,3 +1,27 @@
|
||||
v1.8.4:
|
||||
|
||||
- Updated TOCs
|
||||
|
||||
v1.8.3:
|
||||
- Updated TOCs, added 9.1 and 9.2 herbs, ore, and lockboxes
|
||||
|
||||
v1.8.2:
|
||||
- Updated TOCs for 9.1.5, Classic, and BCC
|
||||
|
||||
v1.8.1:
|
||||
- Updated TOC for 9.1
|
||||
|
||||
v1.8.0:
|
||||
- Classic-BC support
|
||||
- Added option to hide during pet battles, by request.
|
||||
|
||||
v1.7.4:
|
||||
- Fix an issue when IsArtifactRelicItem is not defined
|
||||
|
||||
v1.7.3:
|
||||
- Add option to suppress tooltips by request
|
||||
- Updated Classic TOC to 1.13.6
|
||||
|
||||
v1.7.2:
|
||||
- Updated TOC for 9.0.5
|
||||
|
||||
|
Reference in New Issue
Block a user