Lets Grind
Version 0.8.22
Author: Slashdot

Lets Grind records personal loot and farming runs and can be used without any other addon.


VERSION 0.8.22
- Renamed the add-on to Lets Grind while keeping the existing add-on folder and SavedVariables name so current installations and recorded data can be updated safely.
- Replaced the old startup message with a one-time, scrollable German or English feature overview.
- Added /letsgrind and /lg while keeping the existing slash commands.
- Made the General, All The Things, and TradeSkillMaster settings content responsive to the actual panel width so long descriptions and checkbox labels wrap instead of being cut off.

VERSION 0.8.19
- Added an optional ATT + TSM setting that remembers item IDs after their first ATT loot notification and suppresses later ATT notifications while ATT still considers the item uncollected.
- The remembered list is account-wide and only affects Lets Grind's ATT notification; ATT X markers, ATT collection state, loot tracking, and TSM class notifications remain unchanged.
- If an item triggers both integrations, the first combined notification remembers it even when TSM has notification priority.
- Added a settings counter and reset button for the remembered ATT item IDs.

VERSION 0.8.18
- Opened lockboxes and other item containers now appear under a dedicated Lockboxes group in the Zones tab.
- Each lockbox type is shown by its localized item name, with the item ID used as a fallback until item data is available.
- Clicking a lockbox type shows the combined items, quantities, drop events, rates, and assigned gold from every opened box of that type.
- Lockbox loot is no longer assigned to the physical zone or instance where the box was opened and is excluded from dungeon/raid run totals.
- Existing item-container history is migrated away from its old opening-zone contexts into the virtual Lockboxes context.
- Unlocking remains completely separate: only the later right-click that actually opens and loots the box matters for recording.

VERSION 0.8.17
- Added a localized "Withdraw highlighted items" button to the guild bank.
- The guild-bank button withdraws only the red snapshot selections from the currently open tab and stops cleanly on missing permissions, withdrawal limits, full bags, tab changes, or closing the bank.
- Guild-bank withdrawals use Blizzard's normal AutoStoreGuildBankItem path and preserve the per-tab snapshot, so no replacement copy starts glowing during the sequence.
- Locked lockboxes and other lootable containers are now explicitly excluded from auction-status highlights, including valuable lockboxes that TSM classifies into a selling class.
- Lockbox detection uses the actual localized item tooltip (Locked / Verschlossen) with container and lootable-item fallbacks.
- No permanent scanner or OnUpdate loop was added.

VERSION 0.8.16
- Reworked the bag-lockbox mouse handling so both interactions work at the same time.
- A secure helper now sits over only the hovered locked bag slot and handles physical RightButton clicks directly.
- LeftButton, MiddleButton and auxiliary mouse buttons pass through to Blizzard's original bag item button, preserving click-to-pick-up and drag-and-drop.
- Removed the unreliable pre-click BUTTON2 override from the active lockbox path; the first right-click activates Pick Lock / the key and the second right-click targets the exact bag slot on the same secure button.
- No polling scanner or OnUpdate loop was added.

VERSION 0.8.14
- Added the built-in WoW coin / money sound (SoundKit 891) as "Auction Sale (Coins)" for TSM class loot notifications.
- Removed "Collection Log Completed" from the normal TSM loot-notification sound list; it remains available only for All The Things collection notifications.
- Existing TSM loot settings that selected Collection Log Completed are migrated to the new coin sound.

VERSION 0.8.13
- Auction-status markers now group random-suffix and bonus variants by the TSM base item string, so only one copy of the same base item is highlighted.
- Current-character bag and auction checks now use the same base item string.
- Warband-bank and guild-bank marker selections are snapshots taken when a tab is opened; withdrawing an item no longer briefly highlights a replacement copy.
- Native gray-quality items are included when Lets Grind classifies them into a higher selling class, while actual junk-class items remain excluded.
- Added a localized "Withdraw highlighted items" button to the Warband bank, positioned left of Blizzard's deposit-all button.
- The button withdraws the currently highlighted items from the open Warband-bank tab in a bounded event-driven sequence and does not affect the guild bank.

VERSION 0.8.12
- Fixed the bag-lockbox right-click helper no longer activating Pick Lock / the configured unlocking item after the 0.8.8 left-click preservation change.
- BUTTON2 is now routed with SetOverrideBindingClick directly to the secure lockbox helper while hovering a locked player-bag slot.
- Added a SecureHandler SetBindingClick compatibility fallback instead of the previous textual CLICK binding command.
- The helper registers the same key-down or key-up edge used by the player's ActionButtonUseKeyDown setting, preventing a physical right-click from being missed or processed twice.
- No mouse-enabled overlay is placed over the bag slot, so left-click pickup and drag-and-drop remain fully handled by Blizzard.

VERSION 0.8.11
- Added an event-driven auction-status marker for bags and storage.
- Warband bank and guild bank are enabled by default; player bags and character bank are optional.
- Uses TSM's current-character auction quantity and exact TSM item strings.
- In storage, no marker is shown when the current character already has that exact item in bags or on the auction house.
- For duplicate copies in the currently displayed storage view, only one slot receives the neon-red marker.
- Moving the marked copy into the character's bags removes the marker from all remaining storage copies on the next bag event.
- The glow can optionally pulse through a Blizzard AnimationGroup and has no polling scanner or OnUpdate loop.
- Added complete German and English settings text.

VERSION 0.8.10
- Added an event-driven low-stock warning for consumable unlocking items after leaving a dungeon or raid.
- The warning threshold defaults to 5 and the popup closes after 15 seconds by default; 0 keeps it visible until dismissed.
- The popup shows the localized item link and current remaining count. Rogues using Pick Lock do not receive a consumable-stock warning.
- The last used or configured unlocking item is remembered so a count of 0 can still be reported.
- Opening a Blizzard merchant window now immediately closes the bag-space warning and cancels any pending warning from the same dungeon exit.
- Added complete German and English settings and popup text for the new warning.

VERSION 0.8.9
- Removed the unsuccessful world-chest BUTTON2-to-left-click remapping after in-game testing confirmed that WoW still treats the second right-click as normal object interaction ("Item is locked").
- Locked world chests now use the reliable flow: first right-click activates Pick Lock / the key item, then a normal left-click applies it to the chest.
- The temporary world BUTTON2 override and its secure fallback were removed completely, so the right mouse button is no longer remapped during world-object targeting.
- Bag lockboxes keep their working two-right-click flow because Lets Grind can securely target the exact bag slot.
- Updated German and English settings text to describe the actual tested behavior.

VERSION 0.8.8
- Fixed locked lockboxes blocking normal left-click pickup and drag-and-drop in bags.
- Removed the mouse-enabled transparent overlay from bag slots.
- Only BUTTON2 is now temporarily routed to the secure lockbox helper while hovering a locked lockbox; Blizzard's original bag button receives every left click unchanged.
- The two-right-click unlocking flow remains intact and still has no scanner or OnUpdate loop.

VERSION 0.8.7
- Added a second world-chest right-click experiment using the public SetOverrideBinding API after the first physical right-click has been released.
- Temporarily maps BUTTON2 to CAMERAORSELECTORMOVE only while the key / Pick Lock targeting cursor is active.
- Uses the existing secure binding owner so its combat state driver can clear the temporary binding, with five-second, cursor-change and combat cleanup retained.
- Falls back to the previous secure binding route only if the direct override API is unavailable or rejected by the client.

VERSION 0.8.6
- The instance reset popup now shows the looted item value and total run duration.
- Scarlet Monastery of Old is identified by its locale-independent instance map ID and waits for four exits by default before showing the reset popup.
- Added a setting to show the Scarlet Monastery of Old reset popup after 1, 2, 3 or 4 exits.

VERSION 0.8.5
- Added optional two-right-click unlocking for locked lockboxes in the player's bags.
- Rogues automatically use Pick Lock (spell ID 1804); non-rogues can optionally use the configured or automatically detected unlocking item.
- The first right-click activates the tool. The second right-click is securely redirected to the exact bag slot that was hovered, while a normal left-click remains available as a fallback.
- Detection uses the localized Blizzard Locked tooltip text and therefore works on German and English clients.
- The helper only hooks bag-item hover events and uses bounded one-shot timers during the two-click sequence; it has no permanent scanner or OnUpdate loop.
- Added separate German and English settings for world chests, bag lockboxes and non-rogue item use.

VERSION 0.8.4
- Changed the locked-chest assistant to an explicit two-right-click flow.
- The first right-click activates Pick Lock or the selected key item.
- Lets Grind then disables its secure overlay and temporarily maps the second right-click to WoW's left-click world action, allowing it to confirm the pending key / Pick Lock cursor on the chest.
- The helper only re-arms after the cursor has left the chest and reaches a locked object again.
- Updated the German and English settings text to describe the tested two-click behavior.

VERSION 0.8.2
- Added an optional experimental locked-chest assistant in the General settings.
- Detects locked world objects from the localized world tooltip (German "Verschlossen", English "Locked").
- A real right-click activates the rogue Pick Lock ability or an available key item through a secure action button.
- Pick Lock uses spell ID 1804 and item tools use item IDs, so the feature is independent of localized spell and item names.
- Supports a preferred custom unlocking item ID; 0 automatically checks known key items in the player's bags.
- The helper is event-driven, disabled in combat and has no OnUpdate scanner or recurring background timer.
- This is an in-game prototype: depending on how the client handles the propagated click, one additional left-click on the chest may still be required.

VERSION 0.8.1
- Reworked the settings layout to keep English and German texts and buttons inside the visible panel.
- Long information texts now reserve their real wrapped height instead of being clipped or overlapping later options.
- Reorganized the TSM color-class editor and moved Delete group / condition controls away from the right edge.
- Removed the large Available TSM values reference block from the settings.
- TSM sale rates in loot notifications are now shown as the original decimal values (for example 0.02 / 0,02) instead of percentages.

VERSION 0.8.0
- Added automatic German / English localization based on the WoW client locale.
- German clients use the existing German UI; every other client uses English.
- Localized settings, tabs, tooltips, buttons, dialogs, chat messages, loot notifications, run history, Loot Database and diagnostic output.
- Added locale-appropriate date, decimal and thousands formatting while accepting previously saved date formats.
- Localization is cached and event-driven; it adds no background scanner or recurring CPU work.

VERSION 0.7.14
- Fixed ATT notification priority so TSM value rows and the TSM drop counter are excluded when ATT wins a combined notification.
- Simplified ATT and TSM loot-message settings to one fixed Lets Grind design.
- Fixed notification design: 440 width, 80 minimum height, 62 icon size, 18 title size, black background, orange title/border and automatic item-quality color.
- ATT X defaults to size 12 and an orange-brown color.
- Collection Log Completed always uses the included 225% amplified sound file; volume variants and the volume slider were removed.
- TSM drop counts now appear in the upper-right corner instead of a separate Loot Database row.
- New default TSM classes use DBRegionMarketAvg thresholds of 500 / 2,500 / 10,000 / 50,000 / 100,000 gold, with gray as the fallback class.
- Default TSM overlay opacity is now 0.70.
- Raid instance-reset prompts are enabled by default and the instance-reset popup sound option was removed.

CORE FEATURES
- Personal loot database
- Dungeon and raid run tracking
- Open-world farming history
- Looted items, quantities, gold, run duration and vendor values
- Manual bag-item marking with an enable switch and configurable key
- Marked sellable items are added to Blizzard's Sell Junk button
- Marked items without vendor value can be destroyed deliberately
- Bag-space warning and instance-reset helper

OPTIONAL ALL THE THINGS INTEGRATION
- Orange-brown X on eligible items which ATT has not yet recorded as collected
- Loot notification for newly collected ATT items
- Configurable notification title, duration and sound
- Uses item IDs / item links and therefore works independently of the client language

OPTIONAL TRADESKILLMASTER INTEGRATION
- Configurable price-based item classes and bag/bank colors
- Optional item-count display
- Colored and sortable grouped / ungrouped TSM item lists
- TSM loot notifications with selectable sound and configurable TSM value rows
- Market values in run history
- Optional sale of the first configured class through Blizzard's Sell Junk button

LOOT NOTIFICATION DESIGN
- Fixed Lets Grind layout for ATT and TSM notifications
- Black background, orange title and border
- Item names always keep the automatic WoW quality color
- TSM drop count is shown in the upper-right corner
- Selectable sounds: off, classic WoW level-up, WoW achievement or the included loud Collection Log Completed sound

SETTINGS
- Separate General, All The Things and TradeSkillMaster tabs
- Configurable priority when ATT and TSM would notify for the same item

DEPENDENCIES
All The Things and TradeSkillMaster are optional. Lets Grind loads and keeps its core features when either or both are missing.

DATA MIGRATION
The existing SavedVariables name TSMBagValuesDB is intentionally retained so previous settings, manual markings, loot history and run history are preserved after upgrading from TSM Bag Values.

INSTALLATION
Copy the LetsGrind folder into World of Warcraft/_retail_/Interface/AddOns and restart the game or use /reload after updating.

SLASH COMMANDS
/lootjournal
/lj
/lj stats
/lj runs
/lj status
