# Amibis — WoW TBC Classic Addon ## What it is World of Warcraft addon (TBC Classic, Interface 20505) that compares the player's equipped gear against Best-in-Slot lists sourced from wowtbc.gg. ## Project structure ``` Amibis/ ├── Amibis.toc # Addon manifest — defines load order ├── Amibis.lua # Core: DB init, item scanning, stat aggregation, gear comparison, slash commands ├── Data/ │ └── BISLists.lua # BIS data store (class → spec → phase → slot) └── UI/ └── ComparisonFrame.lua # Main UI frame, slot rows, stats panel ``` ## Key facts - **Load order** is defined in `Amibis.toc`: `Amibis.lua` → `Data/BISLists.lua` → `UI/ComparisonFrame.lua` - **Slash command**: `/amibis` toggles the UI; `/amibis spec ` overrides auto-detected spec; `/amibis spec clear` resets override - **SavedVariables**: `AmibisDB` (account-wide, stores selected phase), `AmibisCharDB` (per-character, stores frame position + spec override) - **Namespace pattern**: `local addonName, ns = ...` — all modules attach to `ns` - **No build/test/lint tooling** — tested in-game via WoW client - **Currently**: Only Priest (Discipline/Holy) T5 data populated ## Adding new BIS data 1. Add a `local CLASS_T5 = { ... }` table in `Data/BISLists.lua` following the existing `PRIEST_T5` structure 2. Register it in `BIS_DATA` under the appropriate class/spec/phase key 3. Each slot entry: `{ itemID, name, source, enchant? }` 4. Ensure class name matches WoW's English class constant (e.g. `"WARRIOR"`, not `"Warrior"`) ## UI conventions - ElvUI-style dark backdrop (`{0.07, 0.07, 0.07}`, alpha 0.95) - Color coding: green = BIS, yellow = upgrade available, gray = empty slot - Max 17 visible rows; rows are clickable (Shift+click = chat link, Ctrl+click = dress-up) - Stats panel shows: Healing, Spell Power, Intellect, Spirit, MP5, Haste, Crit