Gold Digger

Real-time gold tracking. Tracks income, expenses, profit, and gold/hour with source breakdowns, session history, event log, and a clean Blizzard-style UI. Lightweight, no libraries required.

File Details

GoldDigger-3.4.0.zip

  • R
  • Apr 22, 2026
  • 27.91 KB
  • 52
  • 12.0.5
  • Retail

File Name

GoldDigger-3.4.0.zip

Supported Versions

  • 12.0.5

v3.4.0

Update Interface Version to 120005.

v3.3.1

Fixed

  • AFK taint error in raidsUnitIsAFK("player") can return a "secret boolean" in certain raid contexts (e.g. The Midnight raid), causing a taint error when testing its value; the call is now wrapped in pcall so the error is caught silently and AFK detection continues to work normally in all other contexts
  • Session ID not resetting when Max History is 0sessionCounter was incremented before the maxHistory <= 0 early-return check in SaveSessionToHistory, causing the session ID to climb even when history was disabled; the check now runs before the increment
  • Live session row not updating — the profit, duration, and GPH values in the history window's live session row were set once at window-open time and never refreshed; they now update every second via the existing GD.UpdateUI tick

v3.3.0

New Features

  • Taxi source tracking — gold spent on flight paths is now tracked as a distinct "Taxi" expense source with a gryphon icon

    • Detected via TAXIMAP_OPENED / TAXIMAP_CLOSED and a TakeTaxiNode hook (same pattern as repair detection)
    • Correctly handles the WoW event order where TAXIMAP_CLOSED fires before PLAYER_MONEY
  • Zone & character saved with session — each history entry now stores the zone and character name at the time the session was saved

    • Visible in the history row tooltip: CharacterName • Stormwind City
    • Old sessions without this data display normally without errors

UI

  • Live session row in history — the history window now shows the current active session as a pinned first row above all saved sessions; displays session ID, active/paused status indicator, live profit, duration, and GPH; hovering shows a full source breakdown tooltip identical to saved session rows; clicking opens a context menu with "Show Log"; the row updates correctly when the session is reset; can be toggled in Settings → History

  • Minimap button tooltip: source breakdown — hovering the minimap button now shows the full income and expense source breakdown for the current session, matching the detail level of the history row tooltip

  • History tooltip: hide zero sources — income and expense sources with a 0g amount are no longer shown in the history row breakdown tooltip

Fixed

  • AFK auto-pause taint errorUnitIsAFK("player") was called directly inside the PLAYER_FLAGS_CHANGED event handler, causing a "secret boolean value" taint error; the check is now deferred via C_Timer.After(0, ...) to run outside the protected event frame

v3.2.3

Fixed

  • /gd resume logic — the pause check was inverted; the command now correctly resumes a paused session and shows "Session is not paused." only when it actually isn't
  • Session snapshot integritySaveCurrentSession now deep-copies incomeSources, expenseSources, and sessionLog via CopySources/CopyLog to prevent saved snapshots from being mutated by later session activity
  • Max History slider — the OnValueChanged handler was attached before the slider variable was created; it is now correctly registered after maxHistorySlider is fully initialised, and its label reference uses the correct sliderText local
  • Income source tooltip sign — income breakdown amounts now display with a leading + prefix for clarity
  • Timer display in compact mode — the merged timer line now formats both elapsed and limit using GD.FormatTime (e.g. 17m 19s / 1h 0m) instead of only formatting the elapsed portion
  • GD.FormatTime short durations — the function now handles sub-minute values (returns e.g. 45s), clamps negative input to zero, and correctly omits the hours segment when only minutes are needed

v3.2.2

Commands

  • /gd pause and /gd resume — these commands were listed in /gd help but not implemented; they now correctly pause and resume the current session

Fixed

  • Auto-reset timer max duration — the session duration slider maximum was raised from 360 to 600 minutes to match the actual allowed range

v3.2.1

Compact Mode

  • "GD" title in compact mode — compact mode now shows a small gold-coloured "GD" label at the top of the window instead of hiding the title entirely
  • Smaller header buttons in compact mode — the gear menu button and close button are scaled down (14×14 and 16×16) to better fit the reduced window height
  • Tighter layout in compact mode — reduced spacing between the header and data rows for a more compact appearance

v3.2.0

Main Window

  • Compact / minimal mode — new toggle that switches the main window to a stripped-down view showing only Profit, Gold per Hour, and Session Time; hides title, session ID, separator, income/expense rows, GPH comparison, and the Pause/Reset buttons
  • Compact mode toggle — available via the gear menu (like Lock Window), Settings → UI, or /gd compact
  • Merged timer display in compact mode — when the auto-reset timer is active, Session Time shows elapsed and total duration in one row (e.g. 17m 19s / 60m) instead of a separate "Auto-reset in" row; the text turns orange under 10 minutes and red under 2 minutes, matching the full-mode timer behaviour

v3.1.0

Auto-Reset Timer

  • Session timer — configure a time limit (5–600 min, step 5) for a session; when the limit is reached the session is saved to history and a new one starts automatically
  • Countdown row — new "Auto-reset in" row in the main window shows the remaining time; turns orange under 10 minutes, red under 2 minutes
  • Countdown uses active time — the timer pauses while the session is paused, so AFK time never counts toward the limit
  • Show Timer Countdown checkbox in Window options — hides the row without disabling the timer; automatically greyed out when the timer is off
  • /gd timer — toggles the timer on/off from chat with a confirmation message showing the configured duration

Main Window

  • GPH shows -- for the first 30 seconds — avoids misleading values (e.g. 50,000g/h after one loot event) at the start of a session; GPH comparison row also shows -- during this period

History Window

  • Session count in stats — added "Sessions: N" as a fourth stat row in the history statistics panel

Fixed

  • FormatTime no longer shows 0h — durations under one hour now display as e.g. 12m instead of 0h 12m; affects Session Time row, history durations, Best GPH stat, and session summaries

v3.0.0

Main Window

  • Gold separator line — added a gold-coloured separator between the title/session ID area and the content rows, consistent with the History and Log windows
  • Persist income/expense expanded state — expanding the income or expense breakdown is now remembered across logins via GoldDiggerDB.incomeExpanded / GoldDiggerDB.expenseExpanded
  • GPH comparison row — new "vs Best" row below Gold per Hour shows the percentage difference against your best recorded session (green = above best, red = below, gold = equal); toggleable in options

Options Panel

  • New "UI" section — added a dedicated UI section before Session containing:
    • Show Minimap Button (moved from Session section)
    • Lock Main Window — new checkbox to lock/unlock window dragging without needing the gear menu
  • Show GPH Comparison checkbox — controls the new GPH comparison row; automatically disabled and greyed out when "Show Gold per Hour" is unchecked

Session Log Viewer

  • Opens at last page — log viewer now opens at the most recent page instead of page 1
  • Entry count in pagination bar — pagination now shows Page X of Y (N entries) for a quick overview of log size
  • Session ID in window title — the log window title now includes the session number, e.g. Session Log — #12
  • /gd log opens the viewer/gd log now opens the log viewer UI for the current session; /gd log N still prints the last N entries to chat

History Window

  • Persist sort state — the active sort column and direction are saved to GoldDiggerDB and restored each time the history window is opened
  • Fixed "Best GPH" stat — Best GPH is now tracked independently; previously it reflected the GPH of the best-profit session, which could be misleading

Internal

  • Split UI_Main.lua — extracted UI_Rows.lua (row creation and layout system) and UI_Update.lua (update loop, income/expense rendering) from the monolithic UI_Main.lua
  • Explicit layout dirty flag — replaced hash-based layout change detection with an explicit layoutDirty flag; GD.MarkLayoutDirty() is exposed for external callers (e.g. the options panel)
  • Reduced GD table pollution — intermediate UI frame references removed from the shared GD table; moved into module-level locals or the shared R context table
  • Replaced deprecated UIDropDownMenu API — all three menus (main options, history options, row context menu) now use Menu.CreateContextMenu / MenuUtil

v2.8.0

New Features

  • /gd status — prints a compact one-line session status to chat: session ID, profit, GPH, duration, and paused state if applicable

Fixed

  • Repair detection — repairs are now correctly detected by hooking RepairAllItems before the money event fires, instead of checking GetRepairAllCost() after the fact (which always returned 0)
  • Bank event compatibility — removed invalid event registrations (VOID_STORAGE_OPEN, VOID_STORAGE_CLOSE, GUILDBANKFRAME_OPENED, GUILDBANKFRAME_CLOSED) that caused startup errors in The War Within; regular Bank, Guild Bank, and Warband Bank all fire BANKFRAME_OPENED / BANKFRAME_CLOSED

Performance

  • OnUpdate budget guard — the UI update accumulator is now capped after each tick; lag spikes no longer cause burst back-to-back UpdateUI() calls on subsequent frames (drift-prevention subtract is kept, excess is discarded)

Session Log Viewer

  • Paginated log viewer — replaced the scrollbar with page-based navigation
    • Prev / Next buttons at the bottom with a "Page X of Y" indicator
    • Buttons are disabled when at the first or last page
    • Rows are pre-created and reused — no dynamic frame allocation per render
    • Always opens at page 1

History Window

  • Sortable columns — clicking any column header (Date, Profit, Duration, GPH) cycles through sort states: first click sorts descending (▼), second click ascending (▲), third click resets to default order (session ID descending); active sort column is highlighted with a gold arrow indicator
  • Delete individual sessions — right-clicking a history row now shows a "Delete" option with a confirmation dialog to remove that session without clearing the full history

v2.7.0

New Features

  • Bank source tracking — gold changes at bank-type storage frames are now tracked as a distinct "Bank" source instead of being silently ignored
    • Covers regular Bank, Guild Bank, Warband Bank, and Void Storage
    • Added Void Storage (VOID_STORAGE_OPEN / VOID_STORAGE_CLOSE)
    • Added Warband Bank (ACCOUNT_BANK_OPENED / ACCOUNT_BANK_CLOSED)
    • "Bank" now appears in income/expense breakdowns with its own icon

Performance

  • Income and expense source breakdowns are now pre-aggregated and saved with each history entry
    • History row tooltips no longer need to iterate the session log on every hover
    • Old entries without saved sources fall back to log-based computation automatically

v2.6.2

Fixed

  • Fixed expense sources incorrectly recording "loot" and "quest" — these are now remapped to "other" since they cannot logically be expense sources
  • Fixed income sources incorrectly recording "repair" — remapped to "other"
  • Fixed session ID not incrementing when max history is set to 0 — the session counter now always advances on reset regardless of history settings

UI

  • Moved "Show Minimap Button" option to the Session section, above the Session Log slider

v2.6.1

Fixed

  • Fixed Minimap button icon rendering — icon is now correctly circular and fits inside the border ring
  • Fixed Minimap button border position and size to align precisely with the icon
  • Fixed Minimap button radius now dynamically calculated from Minimap:GetWidth() to correctly adapt to custom minimap sizes

v2.6.0

New Features

  • Added Minimap Button

    • Gold coin icon positioned on the minimap ring
    • Left-click to toggle the main window
    • Right-click to open the options menu
    • Draggable — position is saved and restored across sessions
    • Can be disabled in Settings → Window
  • History rows now show a source breakdown tooltip on hover

    • Displays income and expense amounts grouped by source (Loot, Vendor, Mail, Auction, etc.)
    • Income sources shown in green, expense sources in red
    • Computed from the stored session log
    • Falls back gracefully when no log data is available
  • Added Show Session Log entry to the main window options menu

    • Opens the log viewer for the current active session directly from the gear menu

UI

  • History header row now has a subtle gold background highlight for better visual separation from session rows
  • Session Log Viewer rows now use zebra-style backgrounds and a gold hover highlight, consistent with the history window
  • Unified dropdown menu styling across all three menus (main options, history options, row context menu)
    • All action items now consistently show the selection indicator on the left

Performance

  • Income and expense breakdown lines are now pooled and reused instead of being recreated every second — prevents frame accumulation and reduces GC pressure
  • LayoutRows now uses a dirty flag — layout is only recalculated when row visibility or heights actually change
  • Fixed OnUpdate timer drift — accumulator now subtracts 1 instead of resetting to 0, keeping updates on a consistent 1-second interval
  • Fixed GetRepairAllCost() being called twice per money event at the merchant

Fixed

  • Fixed windows showing through each other when overlapping — each window now uses a dedicated frame strata (Main: MEDIUM, History: HIGH, Log: DIALOG)
  • Fixed transparent window backgrounds — replaced backdrop bgFile with explicit CreateTexture for guaranteed opacity

v2.5.0

New Features

  • Added Session Log Viewer window (UI_Log.lua)
    • Opens when clicking "Show Log" on a history row
    • Displays all recorded gold events for that session
    • Shows timestamp, source, and gold amount per entry
    • Moveable window with close button and scrollable log list

UI

  • History rows are now clickable with a gold hover highlight
  • Right-clicking or left-clicking a history row opens a context menu
    • "Show Log" opens the session log viewer for that row
  • All addon windows now use a fully opaque background (removed transparency)
  • Session Log window has a title separator consistent with other windows

Fixed

  • Fixed history row mouse hit detection — rows were not registering clicks due to incorrect content frame width
  • Fixed overlapping windows showing through each other — windows now use separate frame stratas (Main: MEDIUM, History: HIGH, Log: DIALOG)

v2.4.1

Fixed

  • Fixed an issue where the current session log was not preserved after relogging
  • Session event logs are now properly saved and restored with the active session
  • Fix "Max History Entries" slider max value in options
  • Fix log chat output formatting

v2.4.0

New Features

  • Added Session Event Log system to track individual gold changes during a session

  • Each log entry records:

    • Timestamp
    • Gold amount change
    • Detected source (Loot, Vendor, Mail, Auction, Trade, Repair, Quest, Other)
  • Session logs are now saved with each history entry

  • Added new command:

    • /gd log
      • Displays the last 10 log entries from the current session
    • /gd log <count>
      • Displays the last <count> log entries from the current session

Settings

  • Added Session Log settings to the addon options:
  • Show log events in chat — prints gold events live in chat
  • Max Session Log Entries — configurable log size limit

UI

  • Reintroduced Reset Session button in the main window (bottom-left)
  • Reset is now available both in the UI and the context menu

Improvements

  • Improved chat output format for session log entries
  • Log output now includes:
  • Timestamp
  • Source label
  • Coin icon display for gold amounts
  • Improved help output for /gd log command

Internal Changes

  • Added internal session event logging system
  • Session logs are now copied and stored when sessions are saved to history
  • Improved gold change handling to support log tracking
  • Minor code cleanup and stability improvements

v2.3.0

New Features

  • Added window display options:
    • Show Session ID
    • Show Income
    • Show Expenses
    • Show Gold per Hour
    • Show Session Time
  • All window options are enabled by default and update the UI immediately
  • Added "Open Settings" entry to the main window context menu
  • Added /gd settings and /gd options commands to open addon settings

UI Improvements

  • Main window height is now fully dynamic based on visible content
  • Removed empty space when rows are hidden
  • Window expands when expandable sections are opened
  • Profit display is now always visible and cannot be disabled

Bug Fixes

  • Fixed issue where sessions auto-paused due to AFK could not be manually resumed
  • Manual resume now overrides auto-pause state

Internal Changes

  • Refactored options UI with reusable checkbox helper
  • Added support for disabled options styling
  • Improved layout handling for main window rows
  • Improved settings persistence

v2.2.0

New

  • Added unique Session IDs (incremental)

  • Session ID is assigned only when a session is saved to history

  • Session ID is now shown in:

    • Main window
    • Session summary (chat)
    • Session history entries
  • Session start, pause, and resume messages now include the session number

  • Added session summary output on reset:

    • Profit
    • Duration
    • Gold per hour
    • Income
    • Expenses
    • Only shown if the session contains data
  • Replaced reset button with a Blizzard-style options menu (gear icon)

    • Lock / Unlock window
    • Show session history
    • Reset session (with confirmation)
  • Income and expense sources are now sorted by amount (highest first)

History

  • History entries now store Session IDs
  • Added Session ID column to the history list
  • Improved history statistics panel:
    • Total profit
    • Total time
    • Average profit
    • Average GPH
    • Best session profit and GPH
  • Added confirmation dialog for clearing history
  • Added options menu to history window

UI

  • Session ID now displayed in the main window
  • Gold per hour now uses profit-based coloring
  • Expandable income and expense breakdown panels
  • Automatic window height adjustment based on content
  • Improved pause/resume button behavior and tooltips

Safety

  • Reset Session now requires confirmation
  • Clear History requires confirmation
  • Window lock option prevents moving the frame
  • Window position persists between sessions

Internal

  • Improved context-based gold source detection
  • Improved session state handling
  • Better handling of empty sessions
  • Code cleanup and stability improvements

v2.1.1

Fixed

  • Fixed incorrect session duration values after pausing and logging out
  • Fixed session state not restoring correctly on login in certain cases
  • Fixed pause button text not updating after resetting a paused session

Changed

  • Increased default session history size to 100 entries
  • Increased maximum history size limit to 1000 entries
  • Improved session reset logic for better control over history saving
  • Improved session initialization on login to prevent inconsistent state

v2.1.0

Added

  • Session statistics panel at the top of the History window
  • Display of total profit across all recorded sessions
  • Display of total tracked time across sessions
  • Average profit per session
  • Average gold per hour across all sessions
  • Best session profit indicator
  • Best session GPH indicator including session duration
  • Visual separator between title and statistics
  • Visual separator between statistics and history list

Improved

  • History window layout completely reworked for better readability
  • Balanced spacing between title, statistics, and session list
  • Two-column layout for statistics to reduce vertical space usage
  • More consistent Blizzard-style panel appearance
  • Column alignment and spacing in the session table
  • Money source detection for gold gains and losses
  • Reduced number of transactions categorized as "Other"

Fixed

  • Misaligned statistics panel in the History window
  • Inconsistent spacing between UI sections
  • Layout issues when moving the history window
  • Minor visual inconsistencies in the history display

Changed

  • History window structure updated to include analytics overview
  • Internal UI anchoring adjusted for improved stability

v2.0.0

Added

  • Expandable Income section with detailed source breakdown
  • Expandable Expenses section with detailed spending breakdown
  • Icon-based source display using Blizzard textures
  • Tooltips for individual income and expense entries
  • Gold per Hour row in the main window
  • Session Time row with paused indicator
  • Dynamic window height that adapts to visible content
  • Vertical layout manager for automatic row positioning

Improved

  • Clean hierarchical layout for expandable sections
  • Consistent indentation for detail lists
  • Reduced spacing issues between rows and sections
  • More readable main window structure

Fixed

  • Row overlapping when expanding Income or Expenses
  • Expenses visually appearing as a subcategory of Income
  • Incorrect anchoring causing layout instability
  • Excessive spacing below expandable headers
  • Layout breaking when toggling sections repeatedly

Changed

  • Window size is now fully content-driven (no manual resizing)
  • Internal UI layout system rewritten for stability

v1.6.0

Added

  • Pause and resume functionality for sessions
  • Pause button in the UI (bottom center)
  • Slash commands: /gd pause and /gd resume
  • Session timer now excludes paused time
  • Auto-pause when player goes AFK
  • Auto-resume when returning from AFK
  • New setting: Auto Pause on AFK (enabled by default)

Changed

  • Session tracking no longer counts gold changes while paused
  • Gold per hour calculation ignores paused time
  • UI timer shows “Paused” while session is paused

Fixed

  • Prevented incorrect time and GPH calculations after pausing
  • Improved session state handling across resets and resumes

v1.5.0

Added

  • Dedicated session history window with scroll support
  • Zebra-style rows for improved readability
  • Blizzard-style UI layout for the history window
  • Header row displaying Date, Profit, Duration, and Gold per Hour
  • Draggable history window with position saved per character
  • Button on the main UI to open the history window
  • Slash command /gd history to toggle the history window
  • Slash command /gd clearhistory to clear all stored sessions
  • History window now updates automatically when history changes

Improved

  • Refactored addon into multiple files for better maintainability
  • Cleaner internal architecture using a shared addon table
  • More consistent UI behavior and state handling
  • Improved session persistence logic
  • History display formatting and spacing

Changed

  • History output moved from chat-only to a dedicated UI window
  • Internal functions reorganized for modular structure

v1.4.0

Added

  • Session history system (per character)
  • Timestamp for each saved session
  • Option to automatically reset session on logout
  • Resume previous session on login when auto reset is disabled
  • Lock button on the UI (bottom-left)
  • Configurable maximum history size (1–100 entries)
  • Command to clear session history

Improved

  • History is now trimmed automatically when limit is exceeded
  • Session persistence between play sessions

v1.3.0

Added

  • Income and expense tracking
  • Profit value is now color-coded based on gain or loss
  • Reset now requires confirmation to prevent accidental data loss
  • Session summary command
  • Window lock option to prevent accidental movement or resizing

Changed

  • Improved slash command handling with help output and show subcommand
  • Improved UI layout and readability

v1.2.1

Fixed

  • Fixed error when gold profit becomes negative
  • Gold expenses no longer cause UI errors
  • Negative amounts now display correctly with coin icons

v1.2.0

Added

  • Reset button on the UI (top-left)
  • Tooltips for Reset and Close buttons
  • Gold display using in-game coin icons

Changed

  • Improved UI layout and usability
  • Refined button styling
  • Cleaner gold/time display

v1.1.0

Added

  • Close button on the UI window
  • Reset command: /gd reset or /golddigger reset
  • Persistent window position and size (saved per character)

Changed

  • Improved session initialization logic

v1.0.0

Added

  • Session gold profit tracking (income and expenses)
  • Gold per hour calculation
  • Session timer
  • Movable UI window
  • Resizable frame
  • Position and size persistence
  • Slash commands: /golddigger, /gd