Skip to content

Softrix/Smartbuff-Classic

Repository files navigation

SmartBuff (Classic)

SmartBuff helps you keep important buffs and abilities up on yourself, your party or raid members, and their pets. It monitors who is missing what, reminds you when something needs refreshing, and can cast buffs for you through a secure action button, scroll wheel, or target changes.

Originally created by Aeldra (EU-Proudmoore). Classic and Retail lineage maintained by Codermik, with additional programming by MrWizard and Speedwaystar.

Current build: r69.120626
Discord (support & updates): https://discord.gg/R6EkZ94TKK


Supported Clients

This package is built for WoW Classic Anniversary clients only. It is not intended for retail/mainline WoW.

Client Interface build Notes
WoW Classic / Classic Era (Anniversary) 11508 Vanilla-era content; gathering profession buffs (Herbalism, Mining, Skinning) are supported where applicable.
TBC Classic (Anniversary) 20505 and above Detected at runtime when the client build is at or above the TBC threshold; TBC-specific spells, items, and raid templates apply.

The addon validates the running client on load. If you install it on an unsupported client (for example retail with a build above 100000), you will see a warning that this version is not intended for that client.


What SmartBuff Does

Core purpose

SmartBuff scans your configured buff list in a defined order and determines what is missing on:

  • Your character
  • Party and raid members (by class and role)
  • Hunter and Warlock pets (optional)
  • Friendly targets (optional)

When something is missing or about to expire, it can:

  • Show an on-screen splash reminder with optional icon and sound
  • Post a chat message listing what is needed
  • Cast the next appropriate buff via the secure action button, scroll wheel, or target switch

You stay in control: SmartBuff suggests and assists; you configure which buffs matter, for whom, and under which conditions.

Buff and ability types

SmartBuff supports a wide range of entries, not only class spells:

  • Class buffs — blessings, auras, shouts, aspects, forms, and similar
  • Group vs. single-target — with logic to prefer single-target versions when only a few members are missing (saves reagents)
  • Weapon enhancements — sharpening stones, weightstones, oils, poisons (main hand, off hand, thrown)
  • Consumables — scrolls, food, potions, healthstones, firestones, spellstones
  • Inventory items — reagents and usable buff items
  • Toys (optional)
  • Stances and shapeshift-related abilities
  • Gathering profession buffs (Classic Era / Hardcore where applicable)

Each buff can be tuned per template with class targets, “myself only / myself not,” in-combat vs. out-of-combat rules, rebuff timers, mana thresholds, and notification on/off.

Templates

Buff setups are organized into templates so you can use different lists for different situations:

General

  • Solo
  • Party
  • Raid
  • Battleground
  • Arena

Raid instances (auto-switch when entering the instance, if enabled)

  • Molten Core, Onyxia’s Lair, Blackwing Lair
  • Ruins of Ahn’Qiraj, Temple of Ahn’Qiraj, Naxxramas
  • Gruul’s Lair, Magtheridon’s Lair, Karazhan
  • Serpentshrine Cavern, Tempest Keep
  • Battle for Mount Hyjal, Black Temple, Sunwell Plateau

Custom

  • Custom 1, Custom 2, Custom 3

Templates can switch automatically when your group type or instance changes. You can also retain settings when moving to a fresh template so you do not start from scratch.

Reminders and casting

Feature Description
Reminder Master toggle for automatic buff checking and alerts.
Check timer Delay in seconds between consecutive checks.
Rebuff timer Alert before a buff expires (global and per-buff overrides).
Splash Large on-screen message for missing buffs; configurable font, size, icon, and duration.
Sound Plays a reminder sound; bundled sounds plus LibSharedMedia from other addons.
Chat Lists missing buffs in the chat frame.
Skip over buffing After a set number of reminders for one buff, skip it and move to the next in list order; resets when all enabled buffs have been cycled.
Reminders How many reminder cycles per buff before skip-over applies.

Casting triggers

  • SmartBuff Action key binding (secure action button)
  • Scroll wheel up and/or down
  • Target change
  • Buff target — prioritize the current friendly target
  • Manual slash command: /sbo target

Combat and form behavior

  • Optional checking and casting in combat (with documented limitations)
  • Shapeshift / form casting option
  • Advance rules — avoids wasteful casts (e.g. Thorns on casters, Intellect on units without mana)
  • Group link / Self link — skips buffs when an equivalent effect from another class or a mutually exclusive self-buff is already active

Quality-of-life

  • Self first — buff yourself before others
  • Buff PvP — include PvP-flagged players even if you are not flagged
  • Anti daze — cancels Cheetah/Pack aspect when you or the group is dazed
  • Blacklist — temporarily skip players who could not be buffed (e.g. out of range)
  • Disable in cities / Buff in cities — control reminders and casting in capitals
  • Prompt while mounted — continue reminders while mounted; can dismount to buff
  • Check charges — warn when charge-based buffs are low

SmartDebuff

SmartBuff includes a SmartDebuff frame for monitoring debuffs on your group. It can be shown or hidden from the options and repositioned independently of the main UI.

User interface

  • Options window — full configuration for global settings, templates, and per-buff setup
  • Minimap button — left-click options, right-click toggle on/off; draggable with Shift
  • LibDataBroker — display on Titan Panel, FuBar, or similar broker displays
  • Action button — optional secure button for casting; can hide when no actions are pending
  • What’s New / Changelog — in-game summary of recent changes on first run of a new version

Data and persistence

Settings are saved per character and globally:

  • SMARTBUFF_Options — per-character options and template state
  • SMARTBUFF_Buffs — per-character buff lists
  • SMARTBUFF_OptionsGlobal — account-wide options

Per-class dual-spec (talent group) buff templates are supported where the client API allows; on clients without spec groups, a single template set is used.


Installation

  1. Download or clone this addon into your WoW AddOns folder:
    ...\World of Warcraft\_anniversary_\Interface\AddOns\Smartbuff\
    
  2. Ensure the folder name matches the TOC (Smartbuff or as distributed).
  3. Restart WoW or type /reload if updating while logged in.
  4. On first load, open the options with /sbm and configure your class buffs under Buffs/Abilities.

Slash Commands

Command Action
/sbm Open or close the options menu
/sbo /sbuff /smartbuff /sb SmartBuff command interface (see subcommands below)
/rui Reload the UI

Subcommands (use as /sbo <command>):

Subcommand Action
toggle or t Turn SmartBuff on or off
menu Open the options menu
target Buff the current friendly target
rbt Reset buff timers
sbt Show buff timers
sync Sync buff timers with the UI
rb Reset SmartBuff key and mouse bindings
rafp Reset all frame positions (splash, minimap, action button, options)
changes Show the changelog
reload Reset the buff list order and open options
open Open the options window
debug Toggle debug mode

Key Bindings

Available under Esc → Key Bindings → SmartBuff:

Binding Action
SmartBuff Action Run a buff check and cast the next needed buff
Option menu Open SmartBuff options
Reset buff timers Clear tracked buff expiration timers

Localization

In-game text is available in:

  • English (default)
  • German
  • French
  • Spanish
  • Russian
  • Traditional Chinese
  • Simplified Chinese

The game client selects the appropriate locale automatically when available.


Project Structure

Path Role
Core.lua Addon lifecycle, events, templates, sounds, skip-over logic
Check.lua Buff scanning, splash/reminders, unit and group checks
Cast.lua Secure action button and casting
Options.lua Options UI, slash commands, saved variables
SmartBuff.buffs.lua Buff definitions, items, and class spell lists
Client.lua Client build detection (Classic vs. TBC Anniversary)
Locale/ Localization files
Libs/ LibStub, CallbackHandler, LibSharedMedia, LibDataBroker
SmartBuff.toc Addon metadata and load order

License

SmartBuff is distributed under the GNU General Public License v3 (see LICENSE in this directory).


Support

For bug reports, feature discussion, and latest release information, join the project Discord:

https://discord.gg/R6EkZ94TKK

When reporting issues, include your SmartBuff build (shown on login and in /sbo help), client build number, class, and steps to reproduce.

About

Smartbuff - Classic Era, SoD and TBC Anniversary

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages