Adventure Kit

Adventurer Kit handles the small things that cost you wipes — missing flasks, dead pets, gear falling apart, grey items eating your bag space — so you can focus on the content.

File Details

AdventureKit.zip

  • R
  • Jun 30, 2026
  • 20.68 KB
  • 18
  • 12.1.0+1
  • Retail

File Name

AdventureKit.zip

Supported Versions

  • 12.1.0
  • 12.0.7

UNIT_DIED crash on loginRegisterUnitEvent("UNIT_DIED", "pet") failed because UNIT_DIED is a general event, not a unit-scoped one. Changed to RegisterEvent with a manual arg1 filter.

Addon not appearing in AddOns list — zip folder name didn't match the TOC filename exactly; WoW requires an exact match.

Speed frame StartMoving(): not movableSetMovable(true) was never called on the tracker frame; RegisterForDrag alone isn't sufficient.

Speed showing --- — the AbbreviateNumbers workaround for combat taint was unreliable; replaced with a straightforward pcall-wrapped Lua division.

Pet death suppressed by muteInCombat — pet dying is inherently a combat event; the alert was wrongly gated by the same flag meant to suppress general combat spam.

Non-pet class load safetyUnitClass("player") can return nil during loading screens; added pcall wrapping and a cache that retries on PLAYER_ENTERING_WORLD.

SetScale(val) crash, OnMouseDown nil-before-initSetScale had no type guard against nil/non-number input; the lock toggle treated nil as not nil = true, flipping the wrong way on first use.

HasFlask 10-tuple UnitBuff fragility — brittle multi-return destructure replaced with select()-based extraction.

UnitBuff is nil entirely — deprecated in current retail; replaced all buff scanning with C_UnitAuras.GetBuffDataByIndex, the correct WoW 12.x API.

TitanRepair script timeout — our RepairAllItems() call on MERCHANT_SHOW collided with TitanRepair's scan in the same frame tick; staggered our repair/sell calls with delays.

Persistent "No Pet" warning despite pet being outUnitExists("pet") returns true before UnitHealth confirms the pet fully loaded; switched to health-based detection plus an 8-second grace window after zone transitions.

HUD ignoring per-alert togglesRefreshBuffHUD showed flask/food/pet rows regardless of whether those specific alerts were disabled in settings; added explicit db.alertX gates per row.

UNIT_DIED taint error in Delvesarg1 (unitID) can be a tainted secret string in phased combat; wrapped the == comparison itself in pcall rather than just the retrieval.

M+ key-start pet dismissal not detected — Blizzard auto-dismisses pets when a Mythic+ timer starts; added a dedicated CHALLENGE_MODE_START handler with its own pet check.

Options panel checkbox/sublabel overlap — iteratively fixed by replacing all hardcoded Y-coordinates with a relative cursor-based layout system that auto-advances based on actual element heights.

Cursor reticle stacking infinitelyRebuildReticle called BuildReticle which called CreateLine() again on every settings change; WoW has no DestroyLine() API, so each rebuild added 36 more lines on top of the old ones. Fixed by creating all line objects exactly once at load and only updating color/position in-place afterward.

PetStatus taint error from UnitHealth — same class of bug as the UNIT_DIED taint issue: UnitHealth("pet") can return a secret number in protected combat states (Delves), and the <= comparison was outside the pcall that retrieved it. Moved retrieval and comparison into the same pcall, with a safe fallback to UnitIsDead that defaults to "alive" rather than falsely alerting when health is unreadable.