═══════════════════════════════════════════════════════════
██╗ ███████╗ ██████╗  ██╗   ██╗ ███╗   ██╗ ██████╗
██║ ██╔════╝██╔═══██╗ ██║   ██║ ████╗  ██║ ██╔══██╗
██║ ███████╗██║   ██║ ██║   ██║ ██╔██╗ ██║ ██║  ██║
██║ ╚════██║██║   ██║ ██║   ██║ ██║╚██╗██║ ██║  ██║
██║ ███████║╚██████╔╝ ╚██████╔╝ ██║ ╚████║ ██████╔╝
╚═╝ ╚══════╝ ╚═════╝   ╚═════╝  ╚═╝  ╚═══╝ ╚═════╝

██████╗ ██╗      █████╗ ██╗   ██╗ ███████╗ ██████╗
██╔══██╗██║     ██╔══██╗╚██╗ ██╔╝ ██╔════╝ ██╔══██╗
██████╔╝██║     ███████║ ╚████╔╝  █████╗   ██████╔╝
██╔═══╝ ██║     ██╔══██║  ╚██╔╝   ██╔══╝   ██╔══██╗
██║     ███████╗██║  ██║   ██║    ███████╗ ██║  ██║
╚═╝     ╚══════╝╚═╝  ╚═╝   ╚═╝    ╚══════╝ ╚═╝  ╚═╝
═══════════════════════════════════════════════════════════

Changelog for iSoundPlayer

═══════════════════════════════════════════════════════════
Version 0.3.1 - About Page Update
═══════════════════════════════════════════════════════════

[UPDATED]
- About page: icon size 48→64, spacing aligned with iWR/iNIF
- Added Discord section with copyable invite link

═══════════════════════════════════════════════════════════
Version 0.3.0 - Trigger Expansion & Collapsible UI
═══════════════════════════════════════════════════════════

[NEW]
- 44 new triggers across 4 new categories (75 total triggers, 13 categories)
- New categories: Profession & Crafting, Economy & Mail, Pet & Mount, UI & System
- Version-gating: triggers are automatically hidden if not available for current WoW version
- Collapsible category headers with click to expand/collapse
- Category-level enable/disable checkbox (toggle all triggers in a category)
- Search box to filter triggers by name, description, or event ID
- Per-trigger cooldown system to prevent sound spam on high-frequency events
- Data-driven event system — no more hardcoded event handlers

[CATEGORIES]
- Player Events: +7 triggers (XP, gold, control lost/gained, gear change, movement)
- Combat Events: +4 triggers (spell cast start/complete/interrupted, form change)
- Achievements & Quests: +2 triggers (criteria complete, quest log update)
- Loot & Items: +4 triggers (loot message, money looted, loot roll, boss loot)
- Group & Social: +9 triggers (party invite, whisper, guild/party/raid chat, friends, guild MOTD)
- Dungeon & Raid: +2 triggers (lockout warning, M+ completed)
- Profession & Crafting: 4 triggers (trade window, trade accepted, skill up)
- Economy & Mail: 7 triggers (mailbox, mail sent, pending mail, auction house)
- Pet & Mount: 2 triggers (pet battle start/end — MoP+)
- UI & System: 4 triggers (durability, bags, calendar invite, transmog — mixed versions)

[TECHNICAL]
- Version-gating schema: "all", {min=N}, {max=N}, {min=N, max=M}
- IsTriggerAvailable(), GetAvailableTriggersInCategory(), IsCategoryAvailable() helpers
- EventToTriggers lookup table for O(1) event dispatch
- PlayTriggerSoundWithCooldown() replaces direct PlayTriggerSound() in event handler
- Dynamic default fill in InitializeSettings() for seamless upgrades
- unitFilter field for UNIT_SPELLCAST events (only fires for "player" unit)

═══════════════════════════════════════════════════════════
Version 0.2.3 - Retail PvP Kill Tracking & Game Version Fix
═══════════════════════════════════════════════════════════

[NEW]
- Retail 12.0+ PvP kill tracking using PARTY_KILL event
- Achievement criteria workaround for hidden GUIDs in instanced PvP (BGs/Arenas)
- Compares total killing blow count (achievement #1487) to detect YOUR kills
- Open world: direct GUID comparison for precise detection
- Added "Retail" to Game Version Detection

[TECHNICAL]
- Classic: unchanged — still uses COMBAT_LOG_EVENT_UNFILTERED + PARTY_KILL subevent
- Retail: PARTY_KILL event + GetAchievementCriteriaInfoByID(1487, 0) baseline
- issecretvalue() check for hidden GUIDs in instanced PvP
- Credit: ErnestasBaltinas/hksounds for the achievement criteria technique

═══════════════════════════════════════════════════════════
Version 0.2.1.1 - Show Notifications setting
═══════════════════════════════════════════════════════════

[NEW]
- Added "Show Notifications" checkbox to General settings (Interface section)
- Controls whether chat messages are shown when sounds play

[CHANGED]
- Default for ShowNotifications changed to false (hidden by default)

═══════════════════════════════════════════════════════════
Version 0.2.1 - Version bump
═══════════════════════════════════════════════════════════

[IMPROVED]
- Minimap tooltip reformatted to match iWR/iNIF style (Yellow/Orange colors, SetText, Status line)
- Added L["StatusEnabled"], L["StatusDisabled"], L["MinimapTooltipStatus"] locale keys

═══════════════════════════════════════════════════════════
Version 0.1.7 - Combat Protection & ESC Close
═══════════════════════════════════════════════════════════

[IMPROVED]
- Settings panel and Setup Guide auto-hide when entering combat
- Setup Guide window now closes with ESC key (UISpecialFrames)

═══════════════════════════════════════════════════════════
Version 0.1.6 - Localization (Minimap & Setup Guide)
═══════════════════════════════════════════════════════════

[IMPROVED]
- Minimap tooltip text moved to locale tags (~6 strings)
- Setup Guide text moved to locale tags (~12 strings: headers, steps, tips, buttons)
- Minimap show/hide messages moved to locale tags

═══════════════════════════════════════════════════════════
Version 0.1.5 - Localization
═══════════════════════════════════════════════════════════

[IMPROVED]
- Moved all hardcoded UI strings in options panel to locale tags (L["key"])
- Added ~40 new locale keys for section headers, buttons, descriptions, and messages
- Static popup dialogs, sounds tab, triggers tab, about tab, and other addons tabs all use L-tags
- Consistent use of local L and Colors shortcuts throughout options panel

═══════════════════════════════════════════════════════════
Version 0.1.4 - UI Consistency
═══════════════════════════════════════════════════════════

[FIXED]
- Settings panel frame border now matches iWR/iNIF style (thinner border, correct insets)
- Title bar text centered to match iWR/iNIF (was left-aligned with icon)
- ESC key now closes settings panel via UISpecialFrames
- Opening iSP settings now auto-closes iWR/iNIF settings panels if open

═══════════════════════════════════════════════════════════
Version 0.1.2.0 - Setup Guide & First-Time Experience
═══════════════════════════════════════════════════════════

[NEW]
- Added interactive Setup Guide window for first-time users
- Setup guide automatically shows when no sounds are registered
- Accessible via left-click on minimap icon
- Step-by-step instructions for adding sounds and configuring triggers
- "Don't show on startup" option for experienced users
- Updated minimap tooltip (Left-click: Setup Guide, Right-click: Settings)

[IMPROVED]
- Better onboarding experience for new users
- Clearer instructions on how to get started with the addon

═══════════════════════════════════════════════════════════
Version 0.1.0 - Initial Release
═══════════════════════════════════════════════════════════

[NEW]
- Initial addon structure created
- Basic options panel with General and About tabs
- Color scheme and styling framework
- Slash commands (/isp, /isoundplayer)
- Settings management system
- Debug mode toggle

[PLANNED]
- Sound file management system
- Trigger configuration
- Event-based sound playback
- MP3 file support
- Custom trigger creation

═══════════════════════════════════════════════════════════
