promotional bannermobile promotional banner
premium banner
A DKP Guild addon with live sync and auction ability.

Description

# GuildDKP

A complete DKP management and auction addon for **WoW TBC Anniversary**.
Built for guilds that want a clean, in-game DKP system with no external tools required —
points, bidding, rolloffs, refunds and a auto-trade are all handled inside the addon.

---

## Features

### DKP Management
- Per-guild data buckets — each guild has its own isolated DKP list. Twinking on alts in
  another guild does **not** mix the data.
- Players who leave the guild are hidden from the list but their DKP is preserved
  (rejoining restores them automatically).
- Sortable DKP list (by name / rank / DKP) with class colors.
- Boss-/Raid-DKP configuration — set DKP per boss, award to current raid in one click.
- Bulk awards use a single throttled message — no more disconnects when handing out
  DKP to 25 raid members at once.
- Full DKP and auction audit log.

### Auctions
- Loot Master detection (in-game `IsMasterLooter` API + roster fallback).
- Bidding popup with current high-bid display, item link (clickable, hover for tooltip),
  countdown timer and live announcements in /raid_warning.
- **+10 button** — calculates the next valid bid above the current high and submits
  immediately.
- **ALL IN button** — bids your entire DKP. If two or more All-In bidders tie, an
  automatic `/roll` decides the winner; if they tie again, the rolloff repeats.
- Refund button on the auction page — Loot Master can undo the last awarded auction
  with one click (DKP refunded, log entry marked).
- Bid via `!bid <amount>` in raid chat works for players without the addon too.

### Auto-Trade
- When the Loot Master awards an item, it is remembered for the winner.
- When the winner opens a trade window with the LM, the item is automatically placed
  in the next free trade slot.
- Stackable items: only **1** is split off, not the whole stack.
- After `ERR_TRADE_COMPLETE` the pending entry is removed — the item is not offered
  again on the next trade.
- Soulbound items in the LM's bags are skipped.

### Officer Permissions
- Guild Master (rankIndex 0) is recognised as Officer automatically.
- Configurable rank whitelist: any rank with names like `Officer`, `Offizier`,
  `Twink Offi`, `Gildenmeister` is treated as Officer.
- Configurable per-player whitelist for individual exceptions.
- Both lists are managed in the **Ranks** tab in the main window —
  **only Officers can edit them**, and changes are broadcast/synced to all addon
  users in the guild.

### Sync & Versioning
- Full state sync via **AceComm + LibDeflate + AceSerializer** — payloads are
  compressed, chunked and rate-limited (no DC risk).
- Live broadcasts for DKP changes, auctions, refunds, rank changes.
- Active version check on login and every 30 minutes — chat warning if a newer
  version is in your guild/group.
- Query a specific player's version: `/dkp version <name>` (or with target selected).

### Quality of Life
- Item tooltip enhancement: hover over a previously won item shows
  `won by Enha on 12.05.26 (50 DKP)`.
- Per-character settings profiles (`bidStep`, `idleThreshold`, etc. can differ
  per alt).
- Built-in profiler for performance debugging (`/dkp profile-stats`).
- Minimap button.
- Test mode for trying the addon solo.

---

## Slash Commands

| Command | Description |
|---|---|
| `/dkp` | Open / close the main window |
| `/dkp my` | Show your own DKP |
| `/dkp who <name>` | Show another player's DKP |
| `/dkp add <name> <±amount> [reason]` | Officer: add DKP |
| `/dkp set <name> <value> [reason]` | Officer: set DKP |
| `/dkp auction <itemlink>` | Loot Master: start an auction |
| `/dkp award` / `cancel` | Loot Master: finalise / cancel current auction |
| `/dkp version [name]` | Check your version, broadcast a check, or query a single player |
| `/dkp pending` | Show outstanding auto-trade entries |
| `/dkp profile [list / use / new / delete]` | Manage settings profiles |
| `/bid <amount>` | Place a bid in the active auction |

---

## Installation

1. Extract into `WoW Anniversary/Interface/AddOns/GuildDKP/`.
2. Both you **and the other addon users in your guild must run the same version** —
   the active version check will warn you if they don't.
3. On first launch you will be in your current guild's bucket; old data from a
   previous version is kept in a `_legacy_` backup. Use `/dkp adopt` to import it
   into the active guild.

---

## Notes

- TBC Anniversary specific: the addon uses `C_Container` APIs with classic fallbacks
  so it should work on TBC, WotLK Classic and SoD without changes.
- Player-to-player addon comm is used for sync; both clients must have the addon
  installed for full functionality. Players without the addon can still bid via
  `!bid <amount>` in chat.

---

**Feedback, bug reports and suggestions welcome on the CurseForge page or via PM.**