File Details
RangeColorSkills_05-02-26.zip
- R
- Feb 5, 2026
- 8.12 KB
- 805
- 12.0.1+4
- Retail + 3
File Name
RangeColorSkills_05-02-26.zip
Supported Versions
- 12.0.1
- 12.0.0
- 5.5.3
- 2.5.5
- 1.15.8
Major Changes
Split codebase for better compatibility
- Separated addon into two files: RangeColorSkills_Retail.lua and RangeColorSkills_Classic.lua
- Each file checks
WOW_PROJECT_IDand exits early if running on wrong client version - Eliminates compatibility issues and simplifies maintenance
Retail (12.0.0+) Support
Added full support for WoW Retail 12.0.0
Optimizations
- Removed redundant
ActionButton_OnUpdatehook (Retail uses different model) - Fixed double-call issues with UpdateButtonColor
- Initialized
buttonDataon-demand to prevent early update failures
Classic / TBC Anniversary Support
Maintained backward compatibility
- Uses
ActionButton_OnUpdatehook (as original code) - Calls both
UpdateButtonRangeandUpdateButtonColorin OnUpdate cycle - Supports all action bar types: ActionButton, MultiBar*, BonusActionButton, PetActionButton
- Added
SetScript("OnUpdate")initialization for all buttons with timer-based updates
Fixed Classic-specific issues
- Added
SetColorTexturefallback toSetTexturefor older clients - Fixed checkbox text reference (
checkbox.Textvs_G[name.."Text"]) - Removed Retail-only
ActionButton_UpdateUsablehook from Classic path - Added
C_Timer.Afterfallback for versions without C_Timer API - Used
pcallwrapper forIsUsableActionfor error safety
Settings Panel Improvements
Universal compatibility
- Retail: Uses
Settings.RegisterCanvasLayoutCategory(10.0+ API) - Classic: Uses
InterfaceOptions_AddCategory(legacy API) - Slash command
/rcsworks in all versions with appropriate fallbacks - Added Reset button functionality in Classic version
Code Quality
Improved error handling
- Added nil checks for
self.action,db, icon, and normal textures - Safe color table validation before SetVertexColor
- Fixed variable shadowing (
type→actionType) - Removed recursive call issues in
UpdateButtonRange
Technical Details
Architecture changes
- Retail: Event-driven model (hooks + OnUpdate for 120 ActionButtons)
- Classic: Polling model (OnUpdate for all action bar buttons)
- No double-update issues (separated range check from color update triggers)
- Proper
buttonDatainitialization to avoid race conditions
Supported versions
- ✅ Retail 12.0.0+
- ✅ TBC Anniversary (2.5.5+)
- ✅ Classic Anniversary (1.15.8+)
- ✅ Classic Pandaria (5.5.3+)