Community Addons
← All addons

Buff Monitor System (BMS)

by Garritt Grandberg (Tirrag)

Support: https://www.shroudoftheavatar.com/forum/index.php?threads/buff-monitor-system.164099/

v5.9.58 · 28 installs · updated 2026-10-28 · needs API 21+

Download 5.9.58

This addon places small icon indicators on your HUD for buffs, pet buffs, and combat windows of opportunity such as riposte, dodge, shield block (Answering Blow), and spell critical hits, so you can see at a glance what is active and how much time is left, with optional threshold sounds. Every tracked skill can be enabled or disabled, repositioned by dragging or with a reset button, given custom warning and severe thresholds via sliders, and assigned a custom sound or silenced. This update adds an option to use the game's own spoken buff-expiry warning for skills with no custom sound file, a toggle for how that warning is phrased, and makes icon-scale changes apply immediately to existing HUD icons instead of requiring a reload. Everything is configured through in-game windows, no file editing required.

Files: buff_monitor_system.lua, BMS-ui.lua, BMS-hudtoast.lua, BMS-events.lua, BMS-settings.lua, core-sound.lua, CLP.lua, modules-SWS-SWS-core.lua, modules-libsotamod-libsota-commands.lua, modules-libsotamod-libsota-timers.lua

Readme

# Buff Monitor System (BMS)

Places small icon indicators on your HUD for your buffs, your pet's buffs, and combat windows-of-opportunity (riposte after a parry, opportunity strike after a dodge, aetheric feedback after a spell crit) -- so you can see at a glance what's active, how much time is left, and when a window to act has opened. Icons use the game's own real skill art when available, falling back to bundled artwork otherwise.

Every monitor is fully configurable in-game, with no file editing required:

  • Global Settings: default warn/severe thresholds, icon scale, the hotkey that opens the

configuration screen, sound volume, and more.

  • Skill Settings (per monitor, via the small settings button on each icon): enable/disable,

reposition (hold Left Control and drag), per-skill threshold overrides, and a custom threshold sound.

Install

From the game: open Community Addons and install Buff Monitor System (BMS).

By hand: copy this folder into your Lua folder (type /lua path in game to find it) as Lua/bms/, type /lua reload, and enable the add-on in the add-on manager.

If you're updating from a pre-package (loose-file) install of BMS, your existing settings are imported automatically on first load -- see "Upgrading from the old file-based version" below.

How it is built

| File | What it does | |---|---| | buff_monitor_system.lua | The only file with real ShroudOnStart/ShroudOnUpdate callbacks; starts every other module in order and owns the saved-settings dirty-flag flush | | BMS-ui.lua | The configuration screen, Global/Skill Settings windows, and every live HUD indicator -- all built on the vendored SWS window system | | BMS-events.lua | Subscribes to the SotA Event System (SES) addon's buff/pet-buff events and re-emits BMS's own normalized buff-start/tick/recast/end events, including the synthesized health and window-of-opportunity monitors | | BMS-settings.lua | Every monitor's static definition (name, underlying skill, bundled icon) as a plain Lua table, plus the one-time import of a pre-package install's monitors.ini/user.ini into the new saved-settings format | | core-sound.lua | Threshold sound playback | | CLP.lua | Combat log parsing, used to detect the window-of-opportunity monitors | | modules-SWS-SWS-core.lua | Vendored shared window system (also used by this author's other add-ons) | | modules-libsotamod-libsota-*.lua | Vendored helper library (timers, chat commands) |

Upgrading from the old file-based version

Earlier versions of BMS stored settings in monitors.ini/user.ini inside its own folder. On first load, if either file is still present, BMS imports it into the new saved-settings format automatically and renames it with an .imported extension as a visible backup/completion marker -- nothing further to do. If you're installing fresh from the Community Addons store, there's nothing to import and this step is skipped entirely.

Full reference: [the add-on API](https://catnipgames.net/lua/reference.html) and [the add-on guide](https://catnipgames.net/lua/guide.html).

Approved versions