Initial publication

This commit is contained in:
dfj
2026-06-04 00:04:49 +02:00
commit 5284007998
6 changed files with 1597 additions and 0 deletions

35
AGENTS.md Normal file
View File

@@ -0,0 +1,35 @@
# 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 <SpecName>` 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