File Details
MGSSounds-v1.5.0.zip
- R
- Oct 19, 2025
- 511.12 KB
- 48
- 1.15.7
- Classic
File Name
MGSSounds-v1.5.0.zip
Supported Versions
- 1.15.7
Changelog
All notable changes to MGSSounds will be documented in this file.
[v1.5.0] - 2025-10-19
Added
- Killing Blow Debounce Control: New "Limit Repeat" option for killing blow sound
- Sub-checkbox under "Killing Blow Sound" in options panel
- Prevents sound from playing more than once within configured delay period
- Enabled by default to prevent sound spam during rapid kills
- Configurable Delay Slider: New slider to adjust killing blow debounce delay
- Range: 0 to 5 seconds in 0.5-second increments
- Default: 2 seconds
- Setting to 0 seconds disables debounce (instant repeat)
- Displays formatted value (e.g., "0 sec (instant)", "1 sec", "2.5 sec")
- Positioned as indented sub-option under "Limit Repeat" checkbox
Changed
- Updated killing blow sound handler to use configurable delay instead of hardcoded 2 seconds
- Enhanced options panel with slider helper function for future extensibility
- Updated "Limit Repeat" tooltip to reference configurable delay
Technical
- Added
killingblow_limitrepeatsaved variable (defaults to true) - Added
killingblow_delaysaved variable (defaults to 2 seconds) - Implemented debounce flag and timer system for killing blow sound
- Created
newSlider()helper function for creating UI sliders - Slider properly refreshes when options panel is reopened
[v1.4.0] - 2025-10-17
Added
- Exit Combat Sound: New sound (
mgsreturn.mp3) plays when player exits combat- Triggered by PLAYER_REGEN_ENABLED event
- Toggle with
/mgssounds exitcombatcommand
- Eating/Drinking Sound: New sound (
mgs-rations.mp3) plays when player eats or drinks- Triggered by UNIT_SPELLCAST_SUCCEEDED event for food/drink spells
- Includes debounce logic to prevent duplicate sounds when eating and drinking simultaneously
- 2-second cooldown prevents sound spam
- Toggle with
/mgssounds rationscommand
- Killing Blow Sound: New sound (
mgs-socom-silenced.mp3) plays when player gets a killing blow- Triggered by COMBAT_LOG_EVENT_UNFILTERED event (PARTY_KILL subevent)
- Toggle with
/mgssounds killingblowcommand
Changed
- Updated help text to include new sound options
- Options panel now displays 11 sound toggles (6 in left column, 5 in right column)
- Added configuration options for all three new sounds in both global and character-specific settings
Technical
- Registered PLAYER_REGEN_ENABLED, UNIT_SPELLCAST_SUCCEEDED, and COMBAT_LOG_EVENT_UNFILTERED events
- Added debounce timer system for eating/drinking sound using C_Timer.NewTimer
- Comprehensive food/drink spell ID list for Classic Era compatibility
- Updated saved variables structure to include exitcombat, rations, and killingblow settings
[v1.3.3] - 2025-10-17
Fixed
- Options Command Error: Fixed "attempt to call global 'InterfaceOptionsFrame_OpenToCategory' (a nil value)" error when using
/mgssounds optionscommand- Removed deprecated InterfaceOptionsFrame_OpenToCategory API
- Updated to use Settings.OpenToCategory API for Classic Era 1.15.4+
- Simplified options panel registration to use Settings API directly
Technical
- Replaced InterfaceOptionsFrame_OpenToCategory with Settings.OpenToCategory
- Updated options panel registration to use Settings.RegisterCanvasLayoutCategory
- Removed legacy API fallbacks no longer needed for current Classic Era version
[v1.3.2] - 2025-10-17
Fixed
- Event Handler Error: Fixed "attempt to index global 'MGSSounds_Vars' (a nil value)" error that occurred when game events fired before addon initialization
- Added nil check in OnEvent handler to prevent accessing uninitialized variables
- ADDON_LOADED event now prioritized to ensure proper initialization order
- All other events safely ignored until addon is fully loaded
- Audio Channel Dropdown Display: Fixed dropdown showing "Custom" instead of saved audio channel value
- Corrected initialization order for dropdown menu
- Added UIDropDownMenu_SetText to properly display selected value
- Implemented refresh function to update dropdown when options panel is reopened
- Dropdown now correctly displays saved channel (e.g., "SFX") on UI reload
Technical
- Modified OnEvent handler to prioritize ADDON_LOADED and check for nil MGSSounds_Vars
- Updated dropdown initialization sequence: Initialize → SetSelectedValue → SetText
- Added dropdown.refresh() method for dynamic UI updates
- Stored dropdown reference in panel for refresh capability
[v1.3.1] - 2025-10-17
Fixed
- Slash Command Error: Fixed "attempt to index global 'MGSSounds_Vars' (a nil value)" error when using slash commands before addon fully loads
- Added safety check in Command function to ensure variables are initialized
- Users now receive a friendly message if commands are used too early
- Options Panel Disappearing: Fixed intermittent issue where options panel would not appear in Interface Options after UI reload
- Implemented single-creation guarantee using
optionsPanelCreatedflag - Added automatic state refresh when panel is reopened
- Panel now properly persists across UI reloads
- Implemented single-creation guarantee using
Technical
- Added initialization check at start of Command function
- Implemented
optionsPanelCreatedflag to prevent duplicate panel creation - Added UI element references (
masterToggle,scopeToggle,soundToggles) for dynamic updates - Panel now refreshes checkbox states on each show event
[v1.3.0] - 2025-10-17
Added
- Hybrid Settings System: Choose between account-wide or character-specific settings
- New
/mgssounds scopecommand to toggle between account-wide and character-specific settings - New
/mgssounds channel [channel]command to set audio channel (Master, Music, SFX, Ambience, Dialog) - New
/mgssounds debugcommand to toggle debug output - New
/mgssounds configcommand to open options panel - Options panel with graphical interface for all settings
- "Use Character-Specific Settings" checkbox in options panel
- "Reload UI" button that appears when scope setting is changed
- Audio channel dropdown selector in options panel
- Two-column layout for sound toggle checkboxes in options panel
Changed
- Settings now use dual saved variables system:
MGSSounds_GlobalVarsfor account-wide settingsMGSSounds_CharVarsfor character-specific settingsMGSSounds_Varsautomatically points to the active settings table
- Updated help text to include new commands
- Improved user feedback messages for all commands
Technical
- Added
useCharacterSettingsflag in global variables to control settings scope - Implemented smart pointer system that switches between settings tables based on user preference
- Options panel uses lazy initialization pattern (only creates UI on first show)
- Backward compatible with existing installations (defaults to account-wide settings)
[v1.2.1] - Previous Release
Features
- Combat sound (Metal Gear Solid alert)
- Death sound
- Trade request sound
- Trade window sound
- Trade cancel sound
- Loot window sound
- Loot collection sound
- Whisper sound
- Individual toggle commands for each sound
- Master disable toggle
- Per-character saved variables