SmartBuff Retail
42.270426a (2026-05-05)
Full Changelog Previous Releases
- Merge pull request #96 from ynazar1/bugfix_and_consistency_rename
Big internal consistency rename of all the functions
Bugfix for edge case with templates - refactor: centralize SmartBuffGroup template lookup
Add smartBuffTemplateForGroupKey() so SMARTBUFF_TEMPLATES is never
indexed with a nil enum slot (avoids field '?' errors). Route
getCurrentTemplate, SetTemplate autoswitch, and template comparisons
through the helper; keep numeric templateLookup indices unchanged.
Co-authored-by: Cursor cursoragent@cursor.com - fix: nil-safe templates and SMARTBUFF_/camelCase function naming
This commit is on top of main (e.g. hide action button when idle is already there from #95). It only adds template table / getCurrentTemplate hardening, addon-wide function renames, XML handler alignment, and small loader fixes — not the hide-when-idle feature.- Document SMARTBUFF_* globals vs camelCase locals in .cursorrules
- Rename addon globals to SMARTBUFF_PascalCase; sync SmartBuff.xml and call sites
- Rename file-local helpers to camelCase (SmartBuff.lua, SmartBuff.buffs.lua)
- Harden buff settings when template/state is unset (getCurrentTemplate, ensureBuffsTemplateTable, buffsTemplateTable)
- SmartBuff.globals.lua: prefixed debug helpers; Enum uses table.invert (fix undefined tInvert)
- XML/Lua: SMARTBUFF_BuffOrderOnScroll / ScheduleBuffOrderOnScroll casing
Co-authored-by: Cursor cursoragent@cursor.com