Compare commits

...

60 Commits

Author SHA1 Message Date
6f78aeb7fa Limit max processing per frame
This causes Breakables to check one bag at a time, then schedule an update for the next frame if too much time has gone by since the scan was started. This reduces/removes any noticeable hitch induced by Breakables when a scan runs. Further throttling is possible if this is insufficient by checking at the Slot level instead of just the Bag level, but on my main character with full 32-slot bags and the native tooltip scanning method, I rarely see more than one throttle per check, so I think this is okay for now.
2022-12-04 22:54:02 -06:00
450527d1bd Improve scanning performance on 10.0+
Use the new TooltipInfo native class to greatly improve scanning speed on clients where it's available.
2022-12-04 22:41:56 -06:00
de6924ee14 Fix microstutter when pressing modifiers
Where "modifiers" are Shift, Alt, etc.

Fixes #1
2022-12-04 21:51:29 -06:00
b517fbf9f6 Add DF Mystic items as disenchantables
Fixes #4
2022-12-01 08:36:57 -06:00
b08c8c49d2 Fix lockbox skill level detection 2022-11-30 08:15:57 -06:00
cd34b60c36 Update changelog 2022-11-29 23:37:23 -06:00
4fc455150f Search for pickables when leveling up 2022-11-29 23:26:33 -06:00
fb982f7f9d Don't show pickables if level is too low
If the player's level is too low to open a locked box, this suppresses the box from being displayed (unless the player enables the new option to show it anyway).
2022-11-29 23:24:47 -06:00
cba6773d1c Add Dragonflight lockbox 2022-11-28 23:09:54 -06:00
5286afb4cd Fix typos, add more cmd feedback 2022-11-25 22:35:39 -06:00
d69da1a7d5 Fix lockboxes in 10.0.2
I failed to understand that GetContainerItemInfo isn't a 1:1 mapping to the new native version, so this adds a shim to make it work.
2022-11-16 20:33:58 -06:00
55c73b3505 More 10.0.2 changes 2022-11-16 11:26:54 -06:00
fcd5d6d1f9 Update changelog 2022-11-15 00:30:34 -06:00
c39996022e Increase TOC for 10.0.2 2022-11-15 00:27:19 -06:00
6c3f3e93e6 I'm gonna get this right one day 2022-11-12 08:55:37 -06:00
e84b834139 Fix error on 10.0.0 2022-11-11 16:48:03 -06:00
a6d396e88d Fix ignore 2022-11-11 10:27:27 -06:00
89dd251093 Update changelog 2022-11-11 10:21:32 -06:00
1d6883b1f5 Add support for 10.0.2/Dragonflight 2022-11-11 10:20:45 -06:00
cb0cd8749d Add reset button
In case a user has misplaced their Breakable window, this allows it to be reset.

It also groups the settings together so that Reset can't be pressed accidentally.
2022-10-30 11:48:42 -05:00
a98b02e7cb Fix right-click ignores 2022-10-27 20:17:27 -05:00
d299ed3d3f Add sponsor file 2022-10-27 09:11:10 -05:00
4a1d004502 Prepare for release 2022-10-25 21:27:01 -05:00
a775f7af33 Fix buttons not working on 10.0 2022-09-23 11:07:37 -05:00
3a9db4082a Fix hiding when you unlearn the last profession 2022-09-22 21:37:16 -05:00
59b1cafee3 Respond to gaining/losing a Breakable skill
The mod now reacts by adding or removing the Breakable button row when the player gains or loses an appropriate skill or profession. So if you train Enchanting, a disenchant bar will be added and if you unlearn it it will go away, for example.
2022-09-22 21:18:06 -05:00
a27b2a7301 Update to latest packager example 2022-09-22 11:01:34 -05:00
8abe349758 Add Wago packaging support 2022-09-22 10:54:28 -05:00
4cb1d01204 Add license 2022-09-22 10:54:13 -05:00
016cc6f226 Improve picked lockbox ui update reliability 2022-09-14 23:16:20 -05:00
f71b527f71 Update changelog, tweak option description 2022-09-12 13:17:49 -05:00
a65674510e Add option to always show Enchanting breakables
If the user really wants to bypass the level check (or the mod is misbehaving), this allows them to show everything.
2022-09-12 13:14:24 -05:00
41592a7c76 Make WowVer checks into local named vars 2022-09-12 12:59:48 -05:00
62c8db483e Remove debug print 2022-09-12 12:59:22 -05:00
abf769bf9d Show disenchants if skill level can't be determined 2022-09-11 11:31:57 -05:00
9bd5541f81 Update changelog 2022-09-11 00:13:16 -05:00
80e495f707 Attempt to fix enchant level detection on Wrath
This only works if the player hasn't collapsed the Professions section of their skill UI, and if LibBabble-Inventory's translation is correct for this in all cases, but it's the only method I've found so far that works for Wrath. The other option is to show everything as disenchantable, but I don't like that.
2022-09-11 00:12:30 -05:00
3257ce5645 Package for Wrath, update TOCs 2022-09-04 14:01:25 -05:00
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
8 changed files with 978 additions and 409 deletions

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

@ -0,0 +1,58 @@
# 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 }}
WAGO_API_TOKEN: ${{ secrets.WAGO_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@v3
with:
fetch-depth: 0 # gets git history for changelogs
# once cloned, we just run the GitHub Action for the packager project
- name: Package and release
uses: BigWigsMods/packager@v2
# 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@v2
with:
args: -g classic -w 0
- name: Package and release for TBC
uses: BigWigsMods/packager@v2
with:
args: -g bcc -w 0
- name: Package and release for Wrath
uses: BigWigsMods/packager@v2
with:
args: -g wrath -w 0

View File

@ -37,5 +37,8 @@ externals:
ignore:
- readme.md
- FUNDING.yml
manual-changelog: changelog.txt
enable-nolib-creation: yes

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,23 @@
## Interface: 80300
## Interface: 100002
## Interface-Retail: 100002
## Interface-Classic: 11403
## Interface-BCC: 20504
## Interface-Wrath: 30400
## 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: 80200
## X-Curse-Project-ID: 16629
## X-WoWI-ID: 17929
## X-Wago-ID: rkGrlA6y
#@no-lib-strip@
embeds.xml

3
FUNDING.yml Normal file
View File

@ -0,0 +1,3 @@
github: parnic
ko_fi: parnic
custom: "https://www.paypal.me/parnic"

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 parnic
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the 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
AUTHORS OR COPYRIGHT HOLDERS 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.

View File

@ -1,3 +1,94 @@
v1.9.8:
- Add Dragonflight Mystic disenchantable items.
- Fix microstutter every time a modifier key, such as Alt, was pressed.
- Improve performance when scanning for new breakables (such as when items enter/leave bags, a lockbox is clicked, etc.).
v1.9.7:
- Add Dragonflight lockboxes.
- Hide lockboxes that can't be picked because the player's level is too low, where we can detect it (10.0+, toggleable with an option).
v1.9.6:
- Fix lockboxes in 10.0.2
v1.9.5:
- Fix another error from 10.0.2
v1.9.4:
- Update TOC for 10.0.2
v1.9.3:
- Fix error on 10.0.0
v1.9.2:
- Dragonflight/10.0.2 compatibility
- Add ability to reset placement of the bar in case it gets lost somehow.
- Shuffled settings into their own categories to make accidental resets unlikely.
- Fix items being added to the ignore list both on press and release. This would frequently mean that two items would get ignored instead of just the one you wanted to click on.
v1.9.1:
- Fix right-click ignore functionality after the upgrade to 10.0.
v1.9.0:
- Handle gaining and losing a Breakable skill without requiring a UI reload
- Update TOC, fix button clicking bug for 10.0
v1.8.7:
- Improve reliability of UI updates after picking lockboxes. There's no good game event for "locked item opened", so this uses some best-guess heuristics to make it function as expected in most cases.
v1.8.6:
- Improve enchanting level detection for Wrath Classic
- Add option to ignore enchanting skill level for showing disenchantable items
v1.8.5:
- Wrath Classic compatibility
- Updated TOCs
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

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.