Compare commits

...

46 Commits

Author SHA1 Message Date
26156517ec Update TOC 2024-01-16 17:25:50 -06:00
402c88b82d Update TOC for Classic-era 2023-12-10 18:59:19 -06:00
e559af59ec Update TOC 2023-11-07 16:38:29 -06:00
4d6efe8842 Update TOC 2023-10-12 07:53:56 -05:00
0322faf629 Update TOCs 2023-09-08 10:29:37 -05:00
4c816fc5ed Add confirmation dialog when ignoring breakables 2023-08-02 17:54:32 -05:00
bc3632d177 Update description to explain ignore feature 2023-08-02 08:57:59 -05:00
713fbf5f16 Update TOC 2023-07-11 16:51:28 -05:00
902adfa2c8 Update TOC for Wrath Classic 2023-07-04 10:22:01 -05:00
e0a5f0b97d Update TOC, add icon 2023-05-03 18:20:16 -05:00
4d93c119a2 Update TOC 2023-04-01 15:00:21 -05:00
c7a8cf4838 Update TOCs 2023-01-25 13:39:01 -06:00
ba61a08f05 Add detection of profession tools 2023-01-15 16:32:30 -06:00
7396b7189a Add detection of profession gear 2023-01-13 23:03:27 -06:00
d5a1f01749 Add Dragonflight mystics, for real
Fixes #4, fixes #6
2023-01-01 17:27:22 -06:00
9ac6b125a3 Fix reported issue with Breakables not updating
If a throttle happens, we lose the items that we already processed. So, effectively, we only display whatever we can find in the final update (i.e. things located toward the end of bags) on machines that can't process all bags in one go.

Fixes #5
2022-12-12 20:50:03 -06:00
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
9 changed files with 979 additions and 576 deletions

View File

@ -23,6 +23,7 @@ jobs:
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_"
@ -31,25 +32,27 @@ jobs:
# we first have to clone the AddOn project, this is a required step
- name: Clone project
uses: actions/checkout@v1
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@master
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@master
uses: BigWigsMods/packager@v2
with:
args: -g classic -w 0
- name: Package and release for TBC
uses: BigWigsMods/packager@master
uses: BigWigsMods/packager@v2
with:
args: -g bcc -w 0
- name: Package and release for Wrath
uses: BigWigsMods/packager@master
uses: BigWigsMods/packager@v2
with:
args: -g wrath -w 0

View File

@ -37,6 +37,7 @@ externals:
ignore:
- readme.md
- FUNDING.yml
manual-changelog: changelog.txt

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
## Interface: 90207
## Interface-Retail: 90207
## Interface-Classic: 11403
## Interface: 100205
## Interface-Retail: 100205
## Interface-Classic: 11500
## Interface-BCC: 20504
## Interface-Wrath: 30400
## Interface-Wrath: 30403
## Author: Parnic
## Name: Breakables
## Title: Breakables |cff7fff7f-Ace3-|r
@ -14,9 +14,11 @@
# ## Version: @project-version@
#@end-non-debug@
## SavedVariables: BreakablesDB
## IconTexture: Interface\Icons\ability_warrior_sunder
## OptionalDeps: Ace3, LibBabble-Inventory-3.0, Masque
## 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,111 @@
v1.9.23:
- Update Dragonflight TOC for 10.2.5
v1.9.22:
- Update Classic-era TOC for 1.15.0
v1.9.21:
- Update Dragonflight TOC for 10.2.0
v1.9.20:
- Update Wrath-Classic TOC for 3.4.3
v1.9.19:
- Update Dragonflight TOC for 10.1.7
- Update Classic-era TOC for 1.14.4
v1.9.18:
- Added a confirmation dialog when ignoring breakables, and updated the description to mention the ignore feature.
v1.9.17:
- Update Dragonflight TOC for 10.1.5
v1.9.16:
- Update TOC for Wrath Classic 3.4.2
v1.9.15:
- Updated TOCs for 10.1.0
- Added icon for 10.1.0
v1.9.14:
- Updated TOCs for 10.0.7
v1.9.13:
- Updated TOCs for 10.0.5
v1.9.12:
- Add detection of Dragonflight profession tools as disenchantable.
v1.9.11:
- Add detection of Dragonflight profession gear as disenchantable.
v1.9.10:
- Add Dragonflight Mystic disenchantable items. (Fixed)
v1.9.9
- Fix issue with not updating or showing items in some cases.
v1.9.8:
- 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

View File

@ -9,7 +9,7 @@ local L = LibStub("AceLocale-3.0"):NewLocale("Breakables", "enUS", true, debug)
--@debug@
L["Welcome"] = [[Thanks for using |cff33ff99Breakables|r! Use |cffffff78/brk|r to open this menu or |cffffff78/breakables|r to access the same options on the command line.
Hold shift and drag the profession button to move the breakables bar around. You can also click directly on any breakable item button to break it without having to click the profession button first.
Hold shift and drag the profession button to move the breakables bar around. You can also click directly on any breakable item button to break it without having to click the profession button first. Right-clicking a breakable button will add that item to the ignore list so it won't show up again. The ignore list can be managed from the configuration panel.
If you have any feature requests or problems, please email |cff33ff99breakables@parnic.com|r or visit the |cffffff78curse.com|r or |cffffff78wowinterface.com|r page and leave a comment.]]
--@end-debug@

View File

@ -1,12 +1,14 @@
### **Description**
# Breakables
## **Description**
Displays a bar on screen that allows quick access to enchanting, jewelcrafting, and inscription professions by presenting a Disenchant/Prospect/Mill button and all of the breakable items you have for that profession next to it. Also displays a bar for any locked junkboxes in your inventory if you're a Rogue. This allows one-click access for breaking down items instead of finding the item in your bag, clicking the appropriate profession/skill button, and clicking the item for each and every item you want to break. For prospecting and milling, you will see the number of items you have alongside the number of times you can break it. In the prospecting screenshot on the right, the player has 169 total Saronite Ore in his bags which will allow for 33 total prospects.
### **Usage**
## **Usage**
By default, if you have the appropriate profession and items in your inventory, a bar will appear with the profession ability followed by any items that are eligible for breaking. You can hold shift to drag the bar around if you want to move it. Clicking the profession button will activate that ability (disenchant/prospect/mill) and clicking an item will break it. You don't have to click the profession button first as simply clicking the item will automatically break it down.
By default, if you have the appropriate profession and items in your inventory, a bar will appear with the profession ability followed by any items that are eligible for breaking. You can hold shift to drag the bar around if you want to move it. Clicking the profession button will activate that ability (disenchant/prospect/mill) and clicking an item will break it. You don't have to click the profession button first as simply clicking the item will automatically break it down. Right-clicking an item will place that item on the ignore list so it won't show up in the list again. The ignore list can be managed in the addon's configuration panel.
### **Configuration**
## **Configuration**
Typing */brk* will open the configuration settings (or you can get to it from Blizzard's Interface options) which consist of:
@ -14,6 +16,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**
## **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.