Compare commits

...

24 Commits
1.6.3 ... 1.8.4

Author SHA1 Message Date
93739030f4 Update TOCs 2022-06-01 08:34:15 -05:00
70fa098fc3 Update TOCs and changelog 2022-03-23 20:54:07 -05:00
154da46002 Add some 9.1/9.2 breakables 2022-03-23 20:53:31 -05:00
0779f4c5ae Update TOCs 2021-11-11 12:58:39 -06:00
6d3bef90c0 Update TOC for 9.1 2021-06-28 13:03:10 -05:00
abfc519084 Add option to hide during pet battles, by request 2021-06-14 23:03:32 -05:00
4c4f48d5d9 Update with latest community packager changes for BC-Classic 2021-05-14 21:36:40 -05:00
1798e824b4 Classic-BC support 2021-05-09 17:21:52 -05:00
481793c8ff Fix an issue when IsArtifactRelicItem is not defined 2021-04-09 21:13:30 -05:00
7f53ef3d90 Update changelog 2021-04-09 20:55:50 -05:00
4dce99e2ab Add option to suppress tooltips by request 2021-04-09 20:53:27 -05:00
92a4758371 Update Classic TOC 2021-03-23 12:14:55 -05:00
e01b0cdd78 Update Classic TOC 2021-03-23 12:14:05 -05:00
e764d54642 Update TOC to 9.0.5 2021-03-22 21:47:08 -05:00
6ab9d09140 Update changelog 2020-11-29 11:50:15 -06:00
5a760da5ac Update TOC to latest 2020-11-29 11:49:14 -06:00
592621cf4e Enable nolib creation 2020-10-23 15:32:15 -05:00
82a97f4e05 Tweak toc for community packager 2020-10-23 15:31:08 -05:00
3273a5d7ce Add github workflow for packaging with the community packager 2020-10-13 09:16:50 -05:00
433a1f4660 Setup compatibility with the community packager 2020-10-13 09:04:41 -05:00
67c8c85978 Version bump for 9.0 2020-10-09 09:37:36 -05:00
806666937f Add Shadowlands herbs, ores, and lockboxes 2020-10-09 09:21:59 -05:00
aeaac05586 Corrected changelog 2020-01-14 20:08:51 -06:00
8553efb4a6 Updated TOC to 8.3 2020-01-14 20:07:35 -06:00
6 changed files with 232 additions and 17 deletions

50
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,50 @@
# description of this workflow, can be anything you want
name: Package and release
# we need to let GitHub know _when_ we want to release, typically only when we create a new tag.
# this will target only tags, and not all pushes to the master branch.
# this part can be heavily customized to your liking, like targeting only tags that match a certain word,
# other branches or even pullrequests.
on:
push:
tags:
- '**'
# a workflow is built up as jobs, and within these jobs are steps
jobs:
# "release" is a job, you can name it anything you want
release:
# we can run our steps on pretty much anything, but the "ubuntu-latest" image is a safe bet
runs-on: ubuntu-latest
# specify the environment variables used by the packager, matching the secrets from the project on GitHub
env:
CF_API_KEY: ${{ secrets.CF_API_KEY }}
WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }}
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} # "GITHUB_TOKEN" is a secret always provided to the workflow
# for your own token, the name cannot start with "GITHUB_"
# "steps" holds a list of all the steps needed to package and release our AddOn
steps:
# we first have to clone the AddOn project, this is a required step
- name: Clone project
uses: actions/checkout@v1
# once cloned, we just run the GitHub Action for the packager project
- name: Package and release
uses: BigWigsMods/packager@master
# another example where we supply additional arguments, this example is specifically to release
# for the Classic version of the game
- name: Package and release for Classic
uses: BigWigsMods/packager@master
with:
args: -g classic -w 0
- name: Package and release for TBC
uses: BigWigsMods/packager@master
with:
args: -g bcc -w 0

View File

@ -39,3 +39,5 @@ ignore:
- readme.md
manual-changelog: changelog.txt
enable-nolib-creation: yes

View File

@ -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"]
@ -39,6 +47,14 @@ local AdditionalMillableItems = {
152510,
152511,
168487,
-- Shadowlands herbs
168586, -- rising glory
168589, -- marrowroot
170554, -- vigil's torch
168583, -- widowbloom
169701, -- death blossom
171315, -- nightshade
187699, -- first flower, 9.2.0
}
local AdditionalProspectableItems = {
@ -51,6 +67,14 @@ local AdditionalProspectableItems = {
152513,
152579,
168185,
-- Shadowlands ore
171828, -- laestrite
171833, -- elethium
171829, -- solenium
171830, -- oxxein
171831, -- phaedrum
171832, -- sinvyr
187700, -- progenium ore, 9.2.0
}
local MassMilling = {
@ -70,6 +94,14 @@ local MassMilling = {
[124106] = 209664,
[128304] = 210116,
[151565] = 247861,
-- shadowlands
[168586] = 311417,
[168589] = 311416,
[170554] = 311414,
[168583] = 311415,
[169701] = 311413,
[171315] = 311418,
[187699] = 359490,
}
local HerbCombineItems = {
@ -87,6 +119,13 @@ local HerbCombineItems = {
109627, -- starflower petal
109628, -- nagrand arrowbloom petal
109629, -- talador orchid petal
-- shadowlands
169550, -- rising glory petal
168591, -- marrowroot petal
169699, -- vigil's torch petal
169698, -- widowbloom petal
169700, -- death blossom petal
169697, -- nightshade petal
}
local UnProspectableItems = {
@ -145,6 +184,12 @@ local PickableItems = {
116920, -- true steel lockbox
121331, -- leystone lockbox
169475, -- barnacled lockbox
-- shadowlands
179311, -- venthyr
180532, -- maldraxxi
180533, -- kyrian
180522, -- night fae
186161, -- stygian lockbox, 9.1.0
}
local CanPickLock = false
@ -204,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)
@ -347,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()
@ -415,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)
@ -594,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"],
@ -688,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
@ -1014,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)
@ -1029,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)
@ -1306,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

View File

@ -1,12 +1,21 @@
## Interface: 80200
## Interface: 90205
## Interface-Retail: 90205
## Interface-Classic: 11403
## Interface-BCC: 20504
## Author: Parnic
## Name: Breakables
## Title: Breakables |cff7fff7f-Ace3-|r
## Notes: Tracks herbs/ore/items that can be broken into component pieces
## Version: @project-version@ (Revision: @project-revision@)
#@debug@
## Version: development
#@end-debug@
#@non-debug@
# ## Version: @project-version@
#@end-non-debug@
## SavedVariables: BreakablesDB
## OptionalDeps: Ace3, LibBabble-Inventory-3.0, Masque
## X-Compatible-With: 70300
## X-Curse-Project-ID: 16629
## X-WoWI-ID: 17929
#@no-lib-strip@
embeds.xml

View File

@ -1,3 +1,43 @@
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
v1.7.1:
- Updated TOC to latest
v1.7.0:
- Added Shadowlands herbs, ore, and lockboxes
- Updated TOC for 9.0
v1.6.4:
- Updated TOC for 8.3
v1.6.3:
- (Classic) Made all items display as disenchantable whether you have the skill for it or not. I have not yet found the correct way to access the player's Enchanting profession level to check against item level for disenchant validity.
v1.6.2:
- Added 8.2's lockboxes

View File

@ -14,7 +14,6 @@ Typing */brk* will open the configuration settings (or you can get to it from Bl
* **Max number to display**: this controls the highest number of items that you will see next to your profession button. If this is 5 but you have 10 breakable items in your bags, you will only see 5 at a time.
* **Show soulbound items**: aimed at enchanters, this controls whether or not you will see items that are soulbound as breakable items or not.
### **Known issues**
* If you have more than 5 of a breakable item but split into stacks all smaller than 5, the game will say you do not have enough items to break. The default UI now has a built-in button to compress stacks that should solve this issue.
* If you know Mass Milling for a specific type of herb, the current alpha will try to use this ability and fail. I am in the process of leveling a scribe up high enough to debug this problem.