promotional bannermobile promotional banner

QuestItemButton — Extra Action Button for Quest Items (Classic/TBC Anniversary)

Auto-shows a Retail-style extra action button when you carry a usable quest item AND stand in the zone it's used. No more digging through bags mid-quest.
Back to Files

v0.12.0-bcc

File nameQuestItemButton-v0.12.0-bcc.zip
Uploader
fender90fender90
Uploaded
Jul 13, 2026
Downloads
236
Size
125.3 KB
Flavors
Classic TBC
File ID
8426996
Type
R
Release
Supported game versions
  • 2.5.6

What's new

QuestItemButton

v0.12.0 (2026-07-13)

Full Changelog

  • fix(button): open right-click menu without EasyMenu
    The pick menu relied on EasyMenu, a FrameXML helper absent in the 2.5.6
    client, so the call errored out silently and the menu never opened.
    Rebuilt it on the UIDropDownMenu_Initialize / ToggleDropDownMenu
    primitives, which are always present.
    Also broaden Scanner: emit a candidate for any carried quest item whose
    bag slot reports a quest that's in the log and has a use effect, so the
    menu surfaces (and can pin) usable items the game never flags via
    GetQuestLogSpecialItemInfo, without a hand-curated byItem entry.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • update curseforge description
  • feat(config): native per-character profiles
    Add named settings profiles stored natively in the SavedVariable (no new lib):
    each character selects a profile via profileKeys; get/set route to the active
    profile, while account-wide keys (minimap) stay at the root. New Profiles
    options tab to switch/create/copy/delete/reset. A one-time migration lifts the
    old flat layout into profiles.Default.
    Config is now require()-able and unit-tested (default merge, scoping, profile
    management, migration) — chosen over AceDB specifically to keep the funnel
    WoW-free and testable.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • feat(waypoint): optional objective waypoint via TomTom/native
    Add Waypoint.lua: a pure, unit-tested provider ladder (TomTom > native > none)
    plus guarded set/clear. When enabled, a waypoint is dropped at the quest
    objective on each item change and cleared on hide. Coordinates come from a new
    best-effort Proximity.questieSpawn (heavily guarded; fails safe to no waypoint,
    may need in-game tuning against Questie's API).
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • feat(button): optional keybind to trigger the item
    Add Keybind.lua: a pure, unit-tested normalize() plus a combat-guarded
    SetOverrideBindingClick apply(). Bind a key under Display to fire the quest item
    like clicking the button; changes made in combat reapply on PLAYER_REGEN_ENABLED,
    and the binding is (re)applied on login and at button creation.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • feat(button): glow/sound when the button appears
    Add a WoW-free Alert.shouldAlert core (unit-tested across all state
    transitions) and fire a brief overlay glow — plus an optional sound — when a
    new item starts showing. Re-showing the same item does not re-alert; hiding
    never alerts. Toggles alertGlow (default on) and alertSound (default off).
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • feat(learn): suggest overrides from observed item-use zones
    Add a WoW-free Learn.note core (unit-tested: dedupes, skips shipped quests,
    ignores empty input). On UNIT_SPELLCAST_SUCCEEDED for the player, cross-reference
    the fired spell against usable quest items in the log; on a match, record the
    current zone and print a paste-ready override line. Toggle learn (default on);
    /qib learned dumps the collected suggestions, persisted in SavedVariables.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • feat(match): hide button when quest objectives complete
    Add a WoW-free Complete.isComplete predicate (unit-tested) and compose a
    completion gate alongside the existing distance gate in evaluate(): the button
    drops once all of a quest's objectives are finished. Toggle hideComplete
    (default on). Quests with no trackable objectives are never auto-hidden.
    Gates now compose generically — a candidate must pass every enabled gate.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • feat(data): bundled starter override dataset + validator
    Make the shipped Data table opt-out via a bundledData toggle (default on)
    and require()-able so it can be unit-tested. Add spec/data_spec.lua to validate
    the table's shape (key types, no unknown override keys, no disabled+zone
    contradiction, byItem never targets a disabled quest).
    The dataset itself stays conservative — real TBC quest/item IDs can't be
    verified offline, so it grows via the auto-learn feature and community edits,
    guarded by the validator.
    Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
  • add curseforge description

This mod has no related projects