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 login — RegisterUnitEvent("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 movable — SetMovable(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 safety — UnitClass("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-init — SetScale 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 out — UnitExists("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 toggles — RefreshBuffHUD 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 Delves — arg1 (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 infinitely — RebuildReticle 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.