commit fba09f925dd420953c76e5ded18a2f62d40b24c3
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Mar 2 00:58:36 2026 +0100

    Add 2.3.2 release package and roll odds update

commit b7f476e7d4fcd78eaa279ef1f53cac0eb96d5e62
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Mar 2 00:37:07 2026 +0100

    Refine DeathRoll UI and document SKEM updates

commit 6f60a183fa27df961f46076d33e436a19b2a6490
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Thu Feb 5 20:21:10 2026 +0100

    Version 2.3.1 - TOC Compatibility Update
    
    - Added Mists of Pandaria Classic support (interface 50503)
    - Removed outdated retail interface version (110207)
    - Changed Dependencies to OptionalDeps to prevent cascade "out of date" warnings
    - Updated author from EgyptianSheikh to 0xTrk
    - Created v2.3.1 release package
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

commit 387d192374e6828a1cef0b6bc20a4a7b2576b673
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Fri Jan 23 16:31:12 2026 +0100

    Refactor code structure for improved readability and maintainability

commit 6a5a852e4f949e9161a7bd156ce9dda3950591a7
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Wed Jan 14 20:32:09 2026 +0100

    Update README for v2.2.0 - TBC Compatibility Edition

commit 3047c5d874230f63c7f77576e6b2bede642f1feb
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Wed Jan 14 17:46:36 2026 +0100

    Version 2.2.0 - TBC Compatibility & Bug Fix Edition
    
    ## TBC Compatibility
    - Added C_Timer shim for full TBC Classic support
    - Works seamlessly across all WoW versions (Classic, TBC, Wrath, Cata, Retail)
    
    ## Critical Bug Fixes (20+ Issues)
    - Fixed race conditions in roll detection with deduplication system
    - Fixed UI crashes from nil references with comprehensive guards
    - Fixed database corruption from negative counters
    - Fixed concurrent game state issues
    - Fixed memory leaks in roll tracking
    - Fixed invalid input validation
    
    ## Stability Improvements
    - Enhanced game state validation
    - Proper cleanup on logout/disable
    - Infinite loop protection
    - Improved error handling and debug logging
    
    ## Files Modified
    - Core.lua: TBC compat, validation, safety (13 changes)
    - UI.lua: Timer fix, validation, scale management (4 changes)
    - Database.lua: Counter fixes, date validation (3 changes)
    - DeathRollEnhancer.toc: Updated to v2.2.0
    - CHANGELOG.md: Complete v2.2.0 changelog added
    
    ## Release Package
    - Created CurseForge-compatible zip with proper folder structure
    - Added comprehensive release notes in both .txt and .md formats
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

commit 0c5a5f84ef3a8f140eb55eb4660f13559ebb59b1
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Wed Jan 14 17:20:03 2026 +0100

    Bump to v2.1.6: TBC interface update + fixes

commit c1450f33629df0619c3db249d07aa078b563c874
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Fri Sep 12 03:43:54 2025 +0200

    Update changelog and release process
    
    - Added negative Net Profit display fix to changelog
    - Added average wager decimal fix to changelog
    - Corrected release process to zip entire DeathRollEnhancer folder
    - Updated zip file with proper WoW addon structure

commit 412b30a95e378c4788398411f81bbed2e02bd667
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Fri Sep 12 03:37:20 2025 +0200

    Version 2.1.5 - Gold Tracking Fix Edition
    
    - Fixed critical gold tracking synchronization bug
    - Added /dr fixgold command for data recovery
    - Fixed negative Net Profit display
    - Rounded average wager calculations (no decimals)

commit 3add58beccb4404a12327e97c21281bc3d9298ed
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Thu Sep 11 23:51:19 2025 +0200

    Add versions folder with v2.1.4 release archive
    
    📁 Archive Organization:
    - Created versions/ folder for release management
    - Moved DeathRollEnhancer V2.1.4.tar.gz to versions/
    - Keeps main directory clean while preserving release history
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 5975b373fe4c1e265255fee6a60449d8c869b7b0
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Thu Sep 11 23:49:36 2025 +0200

    Version 2.1.4 - Bintes EDITion
    
    ✨ New Features:
    - Complete game record editing functionality (/dr edit)
    - Delete game records with confirmation dialog
    - Enhanced game management interface with real-time refresh
    - Improved date sorting (newest first) in edit dialog
    
    🔧 Technical Improvements:
    - Added GetRecentGamesForEditing(), EditGameRecord(), DeleteGameRecord()
    - Fixed WoW compatibility issue with date sorting
    - Proper UI state management and statistics integrity
    - Comprehensive validation and error handling
    
    🎮 User Experience:
    - Professional AceGUI dialog with dropdown selection
    - Automatic statistics recalculation after modifications
    - Settings integration and slash command support
    - Debug output for troubleshooting
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit e2328e31d9fdb5cb6b4bd34f6540760b411bdb59
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Wed Sep 10 22:24:09 2025 +0200

    Version 2.1.3 - Database Fix Edition
    
    Critical fix: Added missing Database.lua file that was accidentally excluded from distribution. This file contains essential database management functions required for saving game history and statistics.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 46dfd2e94714bab5bca155b8486ed04835878a15
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Sun Sep 7 04:33:42 2025 +0200

    Update README.md to reflect v2.1.2 - Bintes Edition
    
    - Modernize documentation with current Ace3-based features
    - Add version badges and WoW compatibility info
    - Document smart challenge detection and UI improvements
    - Include comprehensive feature list and configuration options
    - Add What's New section with latest bug fixes
    - Professional formatting with clear sections and emojis
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 7db02043ccfbd452009c34969506795d99387281
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Sun Sep 7 04:31:09 2025 +0200

    Version 2.1.2 - Bintes Edition
    
    Bug Fixes:
    - Fix post-game challenge button displaying opponent's last roll
    - Fix AddGameToHistory method loading order issues
    - Improve game state cleanup and UI consistency
    
    Technical Improvements:
    - Update all modules to use proper Ace3 addon registration
    - Enhanced game end cleanup to prevent UI confusion
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 7b92a45425696dec9ed7ae9008705e489546ae78
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Sat Sep 6 23:28:44 2025 +0200

    Version 2.1.1 - Bintes Edition
    
    - Fix challenge acceptance display to show actual roll value and original range
    - Update UI status text to show "Bintes Edition"
    - Add comprehensive changelog
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 33bfc9b96d48cdf89b014ec16f910743555c2dc3
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Tue Sep 2 23:11:51 2025 +0200

    Remove arbitrary 50-game limit for complete history tracking
    
    - Remove 50-game per-player limit in Database.lua
    - Now keeps complete lifetime DeathRoll history for all players
    - Allows for true comprehensive statistics and tracking
    - Better fits the purpose of a tracking/statistics addon
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit eec8b6119e782439977d53227223ac00b40be8ad
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Tue Sep 2 23:08:44 2025 +0200

    Major UI improvements and bug fixes
    
    - Fix roll detection system by merging duplicate CHAT_MSG_SYSTEM handlers
    - Update roll logic to use exact roll results instead of result-1
    - Replace Unicode emojis with WoW-compatible text (*** YOU WON! ***)
    - Implement proper AceGUI window position and size persistence
    - Rebuild History tab with better layout and no unwanted UI elements
    - Fix Statistics and History tab scrolling issues with explicit heights
    - Remove temporary Spicy Duel tab (WIP feature)
    - Add roll history display with colored player names and loss probabilities
    - Improve win/loss message persistence in game progress history
    - Clean up UI scaling and layout to stay within frame boundaries
    - Add reset window position/size functions with proper AceGUI integration
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit edb744c5ec5a86c384c33cf2c9e4e6cb2be3995e
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:59:01 2025 +0200

    Add debug buffer file export functionality
    
    File Export Features:
    - /dr debug now automatically saves buffer to DeathRollEnhancer_Debug.txt
    - File saved in main World of Warcraft directory (same level as WoW.exe)
    - Includes timestamp, buffer size, and all captured messages
    - Formatted for easy reading and copying
    - Error handling if file can't be written
    
    File Location:
    C:\Program Files (x86)\World of Warcraft\_classic_era_\DeathRollEnhancer_Debug.txt
    
    Usage:
    1. Do your testing (start duel, roll, etc)
    2. Type '/dr debug'
    3. Open the DeathRollEnhancer_Debug.txt file
    4. Copy/paste the contents
    
    This eliminates the WoW chat copy/paste problem completely.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 1c9400311e4e4d06d98fa855c12f437bde4424e4
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:57:09 2025 +0200

    Improve debug buffer diagnostics and testing
    
    Debug Improvements:
    - Enhanced DumpDebugBuffer with better messaging and empty buffer detection
    - Added confirmation message when /dr debug command is triggered
    - Added test message to buffer when addon loads
    - Better error handling for empty buffer state
    
    Now /dr debug will show:
    - Confirmation that command was triggered
    - Buffer size information
    - Clear message if buffer is empty
    - All captured messages with clear start/end markers
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit db51619ef6316a958e6e8f390c7462642b0e1f40
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:53:33 2025 +0200

    Add comprehensive chat debug buffer system
    
    Debug Chat Buffer Features:
    - Added debugChatBuffer to track last 40 chat messages with timestamps
    - All event handlers now log messages to buffer automatically
    - Added DumpDebugBuffer() function to display captured messages
    - Added '/dr debug' slash command to view the debug buffer
    
    Message Capture:
    - CHAT_MSG_SYSTEM: All system messages (including rolls)
    - CHAT_MSG_TEXT_EMOTE: Text emote messages
    - CHAT_MSG_EMOTE: Regular emote messages
    - DEBUG: All debug messages with timestamps
    
    Usage:
    - '/dr debug' - Shows last 40 messages with timestamps and event sources
    - Automatically captures messages regardless of debug settings
    - Perfect for copying/pasting chat logs for analysis
    
    This eliminates the need for WoW's built-in chat logging and provides
    a focused view of only the messages relevant to roll detection.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit c8381419fdfc103660c1532e75213e4688546d6e
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:47:01 2025 +0200

    Enhance roll detection with multiple event sources
    
    Roll Detection Improvements:
    - Register for additional events: CHAT_MSG_TEXT_EMOTE, CHAT_MSG_EMOTE
    - Created unified ProcessPotentialRoll function to handle rolls from any event source
    - Added HandleDetectedRoll function to centralize roll processing logic
    - Enhanced debug messaging to show which event type detected the roll
    
    Event Coverage:
    - CHAT_MSG_SYSTEM: Standard system messages
    - CHAT_MSG_TEXT_EMOTE: Text-based emote messages (might contain rolls)
    - CHAT_MSG_EMOTE: Regular emote messages (might contain rolls)
    
    This should catch rolls regardless of which event they come through.
    The extensive debug output will show exactly which event (if any) detects the roll.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 5ab95dd4c1708da49a11f393b88c8c30b6d9c8b8
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:40:18 2025 +0200

    Add comprehensive debugging for roll detection issues
    
    Debug Improvements:
    - Enhanced CHAT_MSG_SYSTEM handler with detailed logging of all system messages
    - Added multiple roll pattern matching to catch different formats
    - Enabled debug messages temporarily for troubleshooting (force enabled)
    - Added event registration confirmation in OnEnable
    - Enhanced StartActualGame with game state logging
    
    Roll Pattern Fixes:
    - Try standard pattern first: '^(.+) rolls (%d+) %(1%-(%d+)%)$'
    - Fallback to alternative: '(%S+) rolls 1%-(%d+) %((%d+)%)'
    - Added extensive debug output to identify exact roll message format
    - Enhanced game state validation and logging
    
    This will help identify:
    1. Whether events are being registered properly
    2. What format roll messages actually have in WoW
    3. Whether game state is being set correctly
    4. If rolls are being detected but not processed
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 622856734b368a9893cf076a48a18851eab708ba
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:34:43 2025 +0200

    Make current frame dimensions (350x290) the configurable defaults
    
    - Added frameWidth and frameHeight to database defaults (350x290)
    - Updated UI.lua to use database settings instead of hardcoded values
    - Maintains current window size while making it configurable
    - Added fallback values (350x290) if database settings are missing
    
    This allows the current dimensions to be the default while enabling future customization options.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 256145e1cec75afca698bfe671cccc059ba85bcf
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:29:27 2025 +0200

    Fix syntax error: missing 'end' statement in UpdateGameUIState function
    
    The function had an unnecessary 'else' clause that was causing a Lua syntax error.
    Removed the orphaned 'else' and properly closed the if-elseif chain.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 49520cbbf48baa0f6be67ac3e3b901a6f108b9a6
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:27:47 2025 +0200

    Major code cleanup and architectural improvements
    
    Critical Fixes:
    - Removed duplicate event handlers from Events.lua (CHAT_MSG_SYSTEM, CHAT_MSG_WHISPER, etc.)
    - Completely rewrote Events.lua to be a clean helper module with patterns and validation functions
    - Eliminated duplicate game state system that was causing conflicts
    - Restored proper debug message settings (no longer force-enabled)
    - Added comprehensive error handling with SafeUIUpdate helper function
    
    Events.lua Refactoring:
    - Now contains only chat patterns, validation helpers, and utility functions
    - Removed 400+ lines of duplicate game logic
    - Added proper validation functions for player names, wagers, and messages
    - Centralized all chat message patterns in DRE.CHAT_PATTERNS table
    
    Error Handling Improvements:
    - Added SafeUIUpdate function for safe UI element manipulation
    - Enhanced UpdateGameUIState with comprehensive validation and error catching
    - Added nil checks and type validation throughout critical functions
    - Improved debug messaging for troubleshooting UI issues
    
    Code Organization:
    - Centralized all event handling in Core.lua
    - Clear separation of concerns between modules
    - Removed confusing duplicate functions and comments
    - Better structured helper functions and utilities
    
    This eliminates the major architectural issues and provides a solid foundation for future development.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 07dd2a40fbe90d62a883d530a82ab65c7b57a53a
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:23:11 2025 +0200

    Fix UI state management and roll input auto-update
    
    Issues Fixed:
    - Moved UpdateGameUIState function from UI.lua to Core.lua to resolve scoping issues
    - Added comprehensive debug logging to track UI state transitions
    - Fixed roll input auto-update after each roll in self-dueling mode
    
    Key Changes:
    - UpdateGameUIState now properly updates roll input field with new range after each roll
    - Added debug prints to trace UI state changes and roll input updates
    - Consolidated UI state management in Core.lua for better integration
    - Fixed function scoping between Core.lua and UI.lua
    
    Now when you roll a 3 on 1-6, the roll input should automatically update to show "2" for the next roll range (1-2).
    
    Debug messages will help identify any remaining issues with roll detection.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 09c37e8d0a2bc3c87ce57061840781d71150cc35
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:15:12 2025 +0200

    Fix UI variable scoping error in goldEdit references
    
    Issue: UI elements were being stored in the UI table before they were created, causing nil reference errors when the game button was clicked.
    
    Fix: Moved the storage of UI element references (goldEdit, silverEdit, copperEdit, gameButton) to after all elements are created in the function.
    
    The UI elements are now properly accessible in the StartChallengeFlow() function when calculating wagers.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 231de9c1e1918b60ecfc62db4203529ef46d317e
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 17:11:42 2025 +0200

    Implement comprehensive dynamic UI state system for DeathRoll gameplay
    
    UI State System:
    - Added dynamic button that changes text and functionality based on game state
    - Implemented 6 distinct UI states: WAITING, WAITING_FOR_ACCEPTANCE, ROLLING, WAITING_FOR_OPPONENT, WAITING_FOR_ROLL_RESULT, GAME_OVER
    - Button text changes from "Challenge to DeathRoll!" → "Waiting for [player] to accept..." → "Roll 1-X" → "Waiting for [player]..." → "Game finished!"
    - Auto-updates roll input field to show current roll range after opponent rolls
    
    Game Flow Integration:
    - Created HandleGameButtonClick() to handle different button states
    - Added StartChallengeFlow() for initial challenge validation and setup
    - Added PerformRoll() function that uses RandomRoll() and updates UI state
    - Integrated UI state updates throughout Core.lua game logic functions
    
    Smart UI Updates:
    - Roll input automatically updates to show current range (e.g., opponent rolls 50, input shows "49")
    - Button becomes disabled during waiting states to prevent multiple clicks
    - Status labels provide clear feedback about current game state
    - Automatic reset to WAITING state after game completion
    
    Enhanced User Experience:
    - Single button handles entire game flow - no confusion about what to do next
    - Clear visual feedback for each step of the DeathRoll process
    - Proper state management prevents invalid actions during game progression
    - Self-duel mode works seamlessly with the new UI system
    
    Now players have a guided, intuitive interface that tells them exactly what to do at each step of the DeathRoll game!
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit c2c3f847c524f8cff267ae67110daa918be4adcc
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 16:51:09 2025 +0200

    Fix self-dueling functionality and add NPC protection
    
    Self-Dueling Fixes:
    - Fixed targeting logic to properly detect self-targeting using UnitIsUnit("target", "player")
    - Enhanced StartDeathRoll to bypass whisper/addon detection for self-dueling
    - Modified HandleGameRoll to properly handle self-duel turn alternation with roll counter
    - Added rollCount initialization in game state for self-duels
    - Improved self-duel messaging to show turn numbers and proper win/loss logic
    
    NPC Protection:
    - Added UnitIsPlayer("target") checks to prevent challenging NPCs
    - Added player name validation (length and character checks)
    - Enhanced targeting logic with UnitExists("target") validation
    - Added clear error messages for invalid targets
    
    Technical Improvements:
    - Fixed duplicate playerName variable declaration
    - Improved target validation flow in UI callback
    - Enhanced game state tracking for self-duels vs regular duels
    - Added proper turn-based logic for self-dueling scenarios
    
    Now players can properly duel themselves for practice and testing, while being protected from accidentally challenging NPCs.
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 2f512ec332b8209ad720de3a1e0d52a43d03fc5c
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 12:22:38 2025 +0200

    Fix major DeathRoll game logic issues and enable complete gameplay
    
    Major Fixes:
    - Fixed main DeathRoll game logic to enable self-challenging and complete gameplay
    - Eliminated duplicate whisper challenge messages (were being sent twice)
    - Properly implemented game event registration in Core.lua
    - Fixed UI initialization methods to properly call modules
    - Enhanced StartActualGame function to properly handle game flow and state management
    - Removed duplicate CHAT_MSG_SYSTEM handlers and consolidated logic
    - Fixed game state cleanup and event unregistration
    - Integrated proper challenge acceptance flow between addon and fallback modes
    
    Technical Improvements:
    - Added CHAT_MSG_WHISPER event handler for Spicy Duel acceptance
    - Consolidated game logic between Core.lua and UI.lua (removed duplicates)
    - Enhanced game state tracking and cleanup
    - Fixed UI state synchronization with game events
    - Improved error handling and edge cases
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit c5aa7edc51344fa66743936f42aa1a04d0f244b8
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:57:59 2025 +0200

    Replace technical whisper format with natural challenge messages
    
    - Remove structured 'DEATHROLL_CHALLENGE:roll:wager:message' format
    - Replace with natural messages like 'I challenge you to a DeathRoll! Starting at 100 for 5g!'
    - Much more readable and natural for recipients who don't have the addon
    - Eliminates confusing technical formatting that felt out of place
    - Challenge messages now feel like normal player communication
    
    Messages are now clean and human-readable instead of technical addon communication
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 79076411444cff7337d94f2335576e5fa7d772d8
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:55:49 2025 +0200

    Remove fake placeholder system from wager inputs
    
    - Remove complex placeholder logic with gray '0' text that interfered with input
    - Replace with clean empty input fields that start blank
    - Simplify wager calculation to treat empty fields as 0 (no placeholder checks)
    - Remove OnEditFocusGained/Lost callbacks and placeholder state management
    - Keep numeric validation and limits (Silver/Copper ≤ 99)
    - Much cleaner user experience with true empty fields
    
    Users can now enter wager amounts without placeholder interference
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 86cfcf11e39dc3439d5cdb4149ba1705041ca56d
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:53:25 2025 +0200

    Fix wager input placeholder behavior and text color
    
    - Fix placeholder state not clearing when users type in wager fields
    - Change text color from gray to white when user enters real values
    - Properly handle OnTextChanged events to detect user input vs placeholder
    - Maintain placeholder logic for empty fields on focus loss
    - Ensure wager amounts are correctly calculated and displayed in challenges
    
    Resolves issue where entered wager amounts appeared as gray placeholders
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit ec4513bbac3929c48ffb07262adc2afb56157b98
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:52:16 2025 +0200

    Consolidate configuration tabs for better organization
    
    - Merge General Settings, Interface, Minimap, and Data Management into single 'General' tab
    - Organize General tab with clear section headers (Gameplay, Interface, Data Management)
    - Keep only 2 main tabs: 'General' and 'Fun Statistics' for cleaner navigation
    - Improve setting descriptions and maintain logical grouping of related options
    - Remove empty/sparse tabs that created poor user experience
    - Reorder Fun Statistics to be second tab for better flow
    
    Configuration panel now has better organization and less tab clutter
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit a6bee61ea35b288e0e384a4a638a752135d8a5e7
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:50:21 2025 +0200

    Adjust UI scale default from 1.0 to 0.9 for better sizing
    
    - Change default UI scale from 1.0 to 0.9 in database defaults
    - Adjust scale slider mapping: user sees 1.0 but applies 0.9 internally
    - Update scale range from (0.5-2.0) to (0.6-2.2) to maintain same effective range
    - Add descriptive text '(1.0 = recommended size)' to scale setting
    - Update fallback scale values throughout codebase to use 0.9
    - Users now get better default window sizing out of the box
    
    The previous 0.9 scale is now the new 1.0 default for optimal UI sizing
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 1e2545a8770807e88f602645e536d7c3c181614f
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:48:36 2025 +0200

    Remove non-functional UI font picker from settings
    
    - Remove uiFont option from Interface settings panel
    - Remove UpdateUIFont() function that wasn't working properly
    - Remove ApplyCustomFont() helper function and all its calls
    - Simplify UI code by removing problematic font customization
    - Interface settings panel now cleaner with only working options (scale, reset position)
    
    Users will use default WoW/AceGUI fonts which are consistent and reliable
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 137e9b36b23d3a826539ba134d5fae1f01d6dc38
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:46:36 2025 +0200

    Fix UI variable scoping error in UpdateUIFont
    
    - Change global 'UI' references to properly scoped 'self.UI'
    - Add proper nil checks for self.UI before accessing UI elements
    - Prevents 'attempt to index global UI (a nil value)' error
    - Ensures font updates work correctly within addon context
    
    Fixes error when changing fonts in Interface settings
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit 1b3cdf240892cc9f9d52c1e23e6d33b966060a7b
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:44:58 2025 +0200

    Implement proper font customization system
    
    - Create comprehensive UpdateUIFont function that applies fonts to UI elements
    - Add ApplyCustomFont helper function for consistent font application
    - Apply custom fonts to statistics labels, fun stats, and other text elements
    - Support both LibSharedMedia fonts and fallback system fonts
    - Add user notification that window should be reopened for complete font changes
    - Improve font handling with proper LibSharedMedia integration
    
    Note: Complete font changes require closing/reopening main window due to AceGUI limitations
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit af3b1a85079bf2302aa24f62d87110372e486798
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:43:08 2025 +0200

    Fix Interface config panel font selector error
    
    - Remove invalid LSM30_Font dialogControl that was causing AceGUI error
    - Replace with safe font selection using function-based values
    - Add fallback fonts when LibSharedMedia is not available
    - Maintains compatibility across different LSM versions
    
    Fixes: Invalid Custom Control Type - LSM30_Font error in config panel
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit a86af2ec9066eebeec9849380692683b95a98265
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:42:14 2025 +0200

    Remove backup file - using git for version control instead

commit d3bce5787eb5d0d6f4c8bb4c13f35ba5f6af9bb3
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:40:55 2025 +0200

    Add comprehensive customizable fun statistics system
    
    - Implement 20+ fun statistics including player relationships, gold tracking, and behavioral insights
    - Add "Fun Statistics" configuration panel with individual toggles for each statistic
    - Create tabbed UI interface (DeathRoll, Statistics, History tabs)
    - Remove target input field - now uses in-game targeting system
    - Remove auto-roll refresh button for cleaner interface
    - Enhanced statistics display with win rates, net profit calculations
    - Advanced analytics: nemesis/victim detection, lucky/unlucky players, high rollers vs cheapskates
    - Professional calculation engine with proper error handling and minimum thresholds
    - Real-time statistics updates and customizable display options
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>

commit f89937ac34608ad66963505506c79f3e79e211fa
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:25:36 2025 +0200

    Fix wager input placeholder behavior - no more '010' issue
    
    ✨ **True Placeholder Behavior:**
    - Fields now show gray '0' placeholder text instead of real '0'
    - Click and type immediately - no need to delete placeholder
    - Visual distinction: placeholder is gray, real text is white
    - Prevents '010' issue when typing '10' in a field
    
    🎯 **Smart State Management:**
    - isPlaceholder flag tracks whether showing placeholder or real text
    - OnEditFocusGained: Clears placeholder and switches to normal text color
    - OnEditFocusLost: Restores placeholder if field is empty
    - OnTextChanged: Ignores processing when in placeholder mode
    
    🔧 **Technical Improvements:**
    - Direct access to widget.editbox for color control
    - Proper placeholder handling in button validation logic
    - Treats placeholder values as 0 in calculations
    - Maintains all existing validation (max 99 for silver/copper)
    
    📝 **User Experience:**
    - Type '10' in gold field → shows '10' (not '010')
    - Click away from empty field → shows gray '0' placeholder
    - Click field with placeholder → immediately ready to type
    - Natural, modern web-form behavior
    
    This fixes the annoying UX issue where users had to manually
    delete the '0' before typing their desired amount!

commit 1fe0a602038ba322b63c5cfd81964fad9ed9a589
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:23:23 2025 +0200

    Add Auto-Roll from Money feature
    
    💰 **Smart Auto-Roll System:**
    - New setting: 'Auto-Roll from Money' in gameplay options
    - Automatically calculates roll from total money (gold + silver + copper)
    - Uses modulo 999,999 to stay within WoW's roll limits
    - Ensures minimum roll value of 2
    
    🎯 **How it Works:**
    - GetMoney() returns total money in copper
    - Formula: (totalMoney % 999999) with minimum of 2
    - Example: 1,234,567 copper → 234,568 roll
    - Fallback to 100 if player has no money
    
    🔄 **User Interface:**
    - Roll field auto-populated when setting enabled
    - Refresh button (↻) appears next to roll field
    - Tooltip explains the refresh functionality
    - Manual override still possible - just type new number
    
    ⚙️ **Settings Integration:**
    - Toggle in General Settings: 'Auto-Roll from Money'
    - Helpful description explains the modulo behavior
    - UI updates when setting is changed (requires window reopen)
    - Maintains user preference across sessions
    
    🎲 **Use Cases:**
    - Gambling your exact wealth amount
    - Dynamic rolls based on current financial status
    - Adds strategy element to DeathRoll challenges
    - Perfect for 'all-in' betting scenarios
    
    This creates an interesting meta-game where your roll is tied to
    your actual wealth, making DeathRoll more engaging!

commit 27183c8477c7ad1ca7817f39a792ebf0ff3034ee
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:21:41 2025 +0200

    Add smart auto-clear behavior for wager input fields
    
    ✨ **Smart Input Behavior:**
    - When you click on a wager field showing '0', it automatically clears
    - Start typing immediately without having to delete the default '0' first
    - If you click away without entering anything, it reverts back to '0'
    - Works for Gold, Silver, and Copper fields
    
    🎯 **User Experience:**
    - OnEditFocusGained: Clears '0' when you click in the field
    - OnEditFocusLost: Restores '0' if field is left empty
    - Much smoother workflow when entering wager amounts
    - No more annoying manual deletion of placeholder text
    
    💡 **Smart Logic:**
    - Only clears if the current value is exactly '0'
    - Won't clear if you've already entered a different amount
    - Maintains data integrity while improving usability
    - Professional behavior like modern web forms
    
    This makes entering wager amounts much more intuitive and user-friendly!

commit 16878af46599262986ce0a138d0eb6ccf6dcfb69
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:19:32 2025 +0200

    Remove annoying 'Okay' buttons from wager input fields
    
    🎯 **UI Improvement:**
    - Added DisableButton(true) to all wager EditBox widgets
    - Removes the intrusive 'Okay' button that was blocking input fields
    - Gold, Silver, and Copper fields now have clean, unobstructed interface
    - Better user experience without unnecessary UI elements
    
    ✨ **Clean Interface:**
    - No more button overlaying the input areas
    - Smoother typing experience in wager fields
    - More professional appearance
    - Input fields are fully accessible and visible
    
    This fixes the UX issue where the 'Okay' button was making it
    difficult to see and interact with the wager input fields.

commit ab3fc0f4fdee6b0470646797bb8c5a7cdf6b8138
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:18:09 2025 +0200

    Add comprehensive input validation for roll and wager fields
    
    🔢 **Roll Input Validation:**
    - Limited to 6 digits maximum (999,999)
    - Real-time input filtering - only allows numbers
    - SetMaxLetters(6) prevents typing beyond limit
    - Validation error message for rolls exceeding 999,999
    - Auto-corrects non-numeric input as user types
    
    💰 **Wager Input Validation:**
    - Gold field: 6-digit limit, numeric-only input
    - Silver field: 2-digit limit (max 99), auto-caps at 99
    - Copper field: 2-digit limit (max 99), auto-caps at 99
    - Real-time validation prevents invalid characters
    - Smart limits prevent entering impossible values
    
    ⚡ **User Experience:**
    - Instant feedback - no need to submit to see errors
    - Smooth typing experience with auto-correction
    - Clear error messages when limits exceeded
    - Prevents user from entering invalid data in the first place
    
    🛡️ **Data Integrity:**
    - Ensures all roll values stay within WoW's /roll limits
    - Prevents overflow issues with large numbers
    - Maintains proper gold/silver/copper relationships
    - Reduces validation errors at challenge time
    
    This makes the interface much more user-friendly and prevents
    common input errors before they become problems!

commit e8a3a30f4a7e6f957daac149155ccb4b9300d2dd
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:16:31 2025 +0200

    Implement comprehensive gold wager and challenge popup system
    
    🎰 **Gold Wager System:**
    - Added separate gold/silver/copper input fields to main UI
    - Smart validation prevents negative amounts and invalid values
    - Wager amounts calculated and stored in copper for precision
    - Visual wager display throughout UI with proper formatting
    
    💬 **Enhanced Challenge System:**
    - Challenges now include structured wager information
    - New message format: DEATHROLL_CHALLENGE:roll:wager:message
    - Backward compatibility with old challenge formats
    - Professional challenge messaging with wager details
    
    🎮 **Interactive Challenge Popup:**
    - Beautiful AceGUI popup appears when receiving challenges
    - Shows challenger name, starting roll, and wager amount
    - Accept/Decline buttons with instant response
    - Auto-decline if dialog closed without response
    - Sound notification when challenge received
    
    ⚡ **Smart Response System:**
    - Automatic whisper responses for accept/decline
    - DEATHROLL_ACCEPT and DEATHROLL_DECLINE message formats
    - Instant feedback to both challenger and recipient
    - Proper game state management with wager tracking
    
    🎯 **User Experience:**
    - Slash commands: /dr accept, /dr decline (for manual control)
    - Clear status messages and UI feedback
    - Wager validation with helpful error messages
    - Seamless integration with existing game mechanics
    
    This transforms DeathRoll into a professional gambling system with
    full wager support and polished challenge interactions!

commit 17cebcb8231030ab29a1186cbeb0f0ab60fe2f2a
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:13:26 2025 +0200

    Implement whisper-based challenge system
    
    ✨ **Enhanced Challenge System:**
    - DeathRoll challenges now sent via whispers for privacy
    - Added CHAT_MSG_WHISPER event handling
    - Automatic whisper responses for better user experience
    - Improved challenge detection patterns
    
    🔄 **Challenge Flow:**
    1. Challenger sends whisper: 'I challenge you to a DeathRoll! Starting at 100. Type /roll 100 to accept!'
    2. Recipient gets notification and automatic whisper response
    3. Auto-accepts and starts game when challenge includes starting number
    4. Falls back to asking for clarification if starting number missing
    
    🎯 **Better UX:**
    - Private challenges don't spam chat channels
    - Automatic acknowledgment responses
    - Clearer challenge messages
    - Smart pattern matching for various challenge formats
    
    This makes the DeathRoll experience much more polished and user-friendly!

commit 6c340b06b3a7d8a9c4e267269cc93a81961b191b
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:09:20 2025 +0200

    Remove LibDataBroker-1.1 dependency - Use only LibDBIcon-1.0
    
    - Removed LibDataBroker-1.1 from dependencies (not actively maintained)
    - LibDBIcon-1.0 can handle minimap functionality independently
    - Added fallback logic for better compatibility
    - Minimap will work with just the three main libraries: Ace3, LibSharedMedia-3.0, LibDBIcon-1.0
    - Simplified dependency management for easier installation

commit 2e72517fd3af007d5607a2c824bda6bf35483d8e
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 05:06:42 2025 +0200

    Fix library dependencies - Use CurseForge managed libraries
    
    BREAKING CHANGE: Now uses external library management via CurseForge
    
    🔧 **Dependency Management:**
    - Added proper dependency declarations to TOC file
    - Dependencies: Ace3, LibSharedMedia-3.0, LibDataBroker-1.1, LibDBIcon-1.0
    - OptionalDeps: LibUIDropDownMenu
    - Removed embedded Libs folder - libraries now managed by CurseForge
    
    🛡️ **Safety & Error Handling:**
    - Added library availability checks with graceful fallbacks
    - Proper error messages if required libraries are missing
    - Safe LibStub calls with silent flag where appropriate
    - Better user feedback when dependencies are missing
    
    📦 **CurseForge Integration:**
    - When users download from CurseForge, required libraries will auto-download
    - Cleaner addon structure without embedded libraries
    - Easier maintenance and updates for library dependencies
    - Reduced addon file size
    
    This fixes the loading error by properly managing external dependencies
    instead of trying to include empty library folders.

commit 2173111fc6d34e5ea40f9370099a101c91a69893
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 04:57:33 2025 +0200

    Version 2.0.0 Complete Rewrite with Ace3 Framework
    
    MASSIVE UPDATE - Complete architectural overhaul:
    
    🏗️ **Core Architecture:**
    - Complete rewrite using professional Ace3 framework
    - Modular design with AceAddon-3.0, AceEvent-3.0, AceConsole-3.0
    - Professional event handling and lifecycle management
    - Cross-version compatibility (Classic Era through Retail)
    
    🎨 **User Interface:**
    - Brand new AceGUI-3.0 based interface with modern styling
    - Professional window management with scaling and positioning
    - Comprehensive options panel integrated with Blizzard settings
    - LibSharedMedia-3.0 integration for font and theme consistency
    
    💾 **Database System:**
    - Migrated to AceDB-3.0 for robust data management
    - Enhanced player history tracking with detailed statistics
    - Advanced gold tracking with win/loss streaks
    - Data export/import functionality for backups
    - Automatic cleanup of old records
    
    ⚙️ **Configuration:**
    - Advanced AceConfig-3.0 options system
    - Font selection with LibSharedMedia integration
    - UI scaling, positioning, and appearance controls
    - Comprehensive data management tools
    - Statistical analysis and reporting
    
    🗺️ **Minimap Integration:**
    - Professional LibDBIcon-1.0 implementation
    - Enhanced tooltips with live statistics
    - Improved positioning and visibility controls
    - Better cross-client compatibility
    
    🎯 **Game Features:**
    - Enhanced DeathRoll detection and tracking
    - Improved chat message parsing with multiple patterns
    - Smart challenge acceptance and game state management
    - Better emote system with configurable reactions
    - Advanced gold wager detection
    
    📊 **Statistics & Data:**
    - Comprehensive tracking of wins, losses, and streaks
    - Per-player history with detailed game records
    - Overall statistics with export capabilities
    - Data cleaning and management tools
    - Visual statistics display in options
    
    This represents a complete professional-grade rewrite that transforms
    the addon from basic functionality to enterprise-level architecture.
    All existing features enhanced and many new capabilities added.
    
    BREAKING CHANGE: SavedVariables format changed - data migration needed

commit 2ed2775a27bb486cf8a5e0499c219bdd4556f51d
Author: Tarek <Tarek_rl99@hotmail.com>
Date:   Mon Sep 1 04:44:39 2025 +0200

    Version 2 full UI overhaul
    
    Complete restructure of addon with modular architecture:
    - Split monolithic code into Core, UI, Database, Events, GoldTracking, and Minimap modules
    - Enhanced UI components with improved styling and responsiveness
    - Better separation of concerns for maintainability
    - Updated TOC file structure

commit 1c979f42196728b28850275e74a77872ecb03e56
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Mon Sep 30 18:37:56 2024 +0200

    FIXED DATABASE SAVING

commit 112fcc36154cfbef6c94c51eb4ff50ebf713a568
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 19:41:10 2024 +0200

    fixed bug

commit b2595d6cae46e2e9f8dfec613582ea2e3e3907fc
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 17:20:35 2024 +0200

    minimap es annyoing

commit bd76e4b67331f17e06865e042bffa0d107c74b20
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 13:59:58 2024 +0200

    fixed submit button

commit 9414302370d2117bdf5404e9acd4a8f6dbcd8c58
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 13:24:57 2024 +0200

    Updated addon to now track gold won/lost and win/loss streaks. minor fixes: minimap default position, now down left of the map instead of top left. icon on addon page now loading. shortcut chat commands

commit be8f194642fa19c1bd9e0326b91661d11c2c2885
Author: Tarek Lein <91937397+TrakeLean@users.noreply.github.com>
Date:   Sun Sep 29 03:25:26 2024 +0200

    fixed file names and paths

commit 10b9461439a72f4d38fd058b34c316ad519896ed
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 03:03:06 2024 +0200

    Fixed minor bug where the ui would say that the winner has a 100% loss chance :)

commit d6dbd0bbf2502235239528873394e804dbfd8bb9
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 02:16:36 2024 +0200

    Had the wrong version somehow, fetched the correct one and implemented verything to it. Hopefully this works.

commit 85cb106afc9cf1c61f0cf42dc9dd074c03de81f3
Author: Tarek (Home-PC) <Tarek_rl99@hotmail.com>
Date:   Sun Sep 29 01:33:31 2024 +0200

    Added history and fixed target roll bug

commit 279cdfc98341d8dab7037e4e7dcd38775c9af8e6
Author: TrakeLean <91937397+TrakeLean@users.noreply.github.com>
Date:   Sat Feb 3 02:37:39 2024 +0100

    Update README.md

commit 72c9aa8cc4f782c67104efe867434b1b2d6b664e
Author: TrakeLean <91937397+TrakeLean@users.noreply.github.com>
Date:   Sat Feb 3 02:31:47 2024 +0100

    Update README.md

commit 31d373b20111eddbac0b9b5deee5a5d1e0648763
Author: TrakeLean <91937397+TrakeLean@users.noreply.github.com>
Date:   Wed Dec 27 03:44:33 2023 +0100

    Create README.md

commit 3fa0292a05fa48b1c7d0bc665d4fc780f12539fc
Author: Tarek Lein <91937397+TrakeLean@users.noreply.github.com>
Date:   Wed Dec 27 03:41:25 2023 +0100

    v1

commit e8c42c8810bf8b1651154361bcf4541739fddab7
Author: Tarek Lein <91937397+TrakeLean@users.noreply.github.com>
Date:   Wed Dec 27 03:40:55 2023 +0100

    Initial commit

