# DirtyHorde
A guild companion addon for **TBC Classic Anniversary Edition**, built for ImmaDirtyHorde. It turns your guild chat into a live roster, gear armory, and death-recap tool — no external website or Discord bot required, everything runs through the addon itself.
Every guild member who installs it contributes to a shared, in-game view of the guild: who's playing what, how geared up they are, what killed them and whether it was avoidable, and who knows the recipe you're looking for.
## Features
**Guild Roster**
See every guildmate's level, spec, average item level, guild rank, current zone, and gear-completeness score in one searchable list. Search by name, class, rank, or zone. Data syncs automatically over the guild chat channel as people log in, change gear, or level up — no manual refresh needed.
**Gear Inspect**
Click "Inspect" on any roster entry for a real paperdoll-style gear window — item icons laid out like the in-game character panel, quality-colored borders, and full tooltips (enchants and gems included) on hover. Requests a live refresh from the target when possible, so you're not looking at stale data.
**Gear Completeness Score**
Every player's enchant and gem status is scored automatically — "Enchants: 9/10, Gems: 6/6" — so raid leaders can spot who's missing an enchant or a gem at a glance, without asking.
**Death Recap & Avoidable Mechanic Detection**
When you die, DirtyHorde captures the last several hits leading up to it and tags the killing blow as avoidable, unavoidable, or unknown. Was that Shade of Aran death really unavoidable, or did you eat a Flame Wreath? Now you know, and so does the rest of the guild.
**Weekly Mechanic Deaths — Hall of Shame**
A rolling 7-day leaderboard of confirmed avoidable-mechanic deaths in raids, right on the addon's overview page. All in good fun — nobody wants to top this list.
**Guild Recipe Search**
Search any recipe or enchant by name (try "Mongoose") and instantly see which guildmates know it, across every profession. Results are grouped by character and expand to show their full recipe list, so you can browse or search in the same view
## Commands
- `/dirtyhorde` or `/dh` — open the main window
- `/dirtyhorde roster` — open straight to the Roster tab
- `/dirtyhorde deaths` — open straight to the Deaths tab
- `/dirtyhorde recipes` — open straight to the Recipes tab
- `/dirtyhorde learn` — toggle a mode that prints `spellId | spellName | source` for every hit you take, useful for contributing new verified entries to the avoidable-mechanic database
- `/dirtyhorde debug` — quick roster/death count summary
## How syncing works
DirtyHorde has no external server or website. Guildmates running the addon broadcast their own stats, deaths, and known recipes over the in-game guild chat channel, and every other client merges what it receives into a shared local roster. This means:
- Everyone needs the addon installed for the guild-wide view to work
- Data for a given player is only as fresh as their last broadcast — offline or addon-less guildmates won't show up
- Profession/recipe data only updates when that player has opened the relevant tradeskill window that session (this is a WoW API limitation, not an addon choice — the game only exposes known recipes while the window is open)
## Requirements
- World of Warcraft: TBC Classic Anniversary Edition
- No other addons required — all dependencies (Ace3, LibDataBroker, LibDBIcon) are bundled
## Feedback
The avoidable-mechanic database is a living document — if you spot a mechanic that's mistagged or missing, use `/dirtyhorde learn` to grab the real spell ID from your own combat log before reporting it.

