promotional bannermobile promotional banner

Key Party

Key Party is a WoW addon that shares your group’s keystones, compares Mythic+ dungeon ratings, and recommends the best key to run next.
Back to Files

KeyParty-2.0.0.zip

File nameKeyParty-2.0.0.zip
Uploader
ErinGoB73ErinGoB73
Uploaded
Aug 29, 2026
Downloads
55
Size
1.3 MB
Flavors
Retail
File ID
8762853
Type
R
Release
Supported game versions
  • 12.1.0
  • 12.0.7
  • 12.0.5
  • 12.0.1

What's new

### Added
- Added dungeon and teleport data for the supported Mythic+ dungeons from Cataclysm through Midnight.
- Added dungeon names, map IDs, and teleport spell IDs for each expansion, including Midnight Season 2.
- Added a `/kp roll` command and a new `ROLL A KEY` section below `BEST PROGRESSION KEY` with a dice icon (sized like the `YOUR SCORES` icons) that randomly picks one of the currently shared party keystones and announces it to group chat as an alternative to `BEST PROGRESSION KEY`.
- Added a `RECENT RUNS` section to the bottom half of the alt keystone sidebar, listing account-wide completed Mythic+ runs recorded on `CHALLENGE_MODE_COMPLETED`. It fills the sidebar with as many entries as fit, and automatically shrinks if `ALTS WITH KEYS` grows beyond its default top-half allotment.
- `RECENT RUNS` entries now also show the run's completion time (m:ss) next to the player name.
- Added a collapsible left-side sidebar (toggled via a side button, same construction as the right alt sidebar) with a `KEY LEVEL ADVICE` section that recommends a key level based on the player's average item level, and a `LOOT & CRESTS` reference table of Season 2 end-of-run/vault loot item levels and crest types per key level. Season loot/crest data lives in `KeyPartySeasonData.lua` (`KeyParty_SeasonLootTable`).
- `LOOT & CRESTS` cells are now colored per-entry by their own gear track (green/blue/purple/orange for Adventurer/Champion/Hero/Myth), rather than the whole row sharing the crest column's color — e.g. `+4`'s End column (Champion gear) is blue while its Vault column (Hero gear) is purple.
- Added divider lines between the two sections of both sidebars (`ALTS WITH KEYS`/`RECENT RUNS` and `KEY LEVEL ADVICE`/`LOOT & CRESTS`).
- Added a `Find a Group` button to `KEY LEVEL ADVICE` that opens the Blizzard Premade Groups finder and (best-effort) selects the Mythic+ category and searches for the recommended key level.
- `Find a Group` now also navigates through Blizzard's newer Dungeons & Raids hub landing page (which requires clicking a "Premade Groups" tile before the group list appears) by locating and clicking that button generically, instead of assuming the old direct-to-list behavior.
- `Find a Group`'s hub navigation now matches any clickable frame with matching text (not just the "Button" widget type, since the hub uses custom tile widgets) and retries up to 5 times with a short delay, since the hub's tiles may not exist yet immediately after opening. Prints a chat message telling the player to click "Premade Groups" manually if navigation still fails.
- `Find a Group` now continues clicking through after "Premade Groups" opens: it also selects the "Dungeons" category and (if present as its own tile) the "Mythic Keystone" activity, before applying the recommended key level to the search box.
- Fixed `Find a Group` opening the hub's "Dungeon Finder" instead of Premade Groups > Dungeons: its persistent left-side nav tiles ("Dungeon Finder", "Mythic+ Dungeons") stay in the frame tree and were matched before the actual "Dungeons" category tile. The category click now requires an exact "Dungeons" label match, and the activity click matches "keystone" instead of "mythic".
- `Find a Group` now also clicks the category screen's own "Find a Group" button after selecting "Dungeons", to actually open the search screen before applying the recommended key level.
- Added a `Start a Group` button next to `Find a Group` in `KEY LEVEL ADVICE` that navigates the same Premade Groups > Dungeons path and clicks `LFGListFrame.CategorySelection.StartGroupButton` (confirmed via `/fstack`) to open the create-a-listing screen, falling back to a generic text match if that exact button is ever missing.
- Added a `GEAR UPGRADES` section below `LOOT & CRESTS` in the gear advice sidebar, listing the player's 5 lowest item-level equipped pieces and, for each, the lowest key level whose end-of-run loot (from the season loot table) would still be an upgrade for that slot.
- `GEAR UPGRADES` icons now show an item tooltip on hover, and each entry lists the minimum key level required for the upgrade next to the dungeon name(s).
- `GEAR UPGRADES` item names are now colored by the item's actual quality (Blizzard's standard `ITEM_QUALITY_COLORS`), alongside the existing category color on the slot label.
- Increased the blank space between `GEAR UPGRADES` rows for readability.
- `GEAR UPGRADES` item name color now reflects the tier the slot would be upgraded to (matching the same green/blue/purple/orange colors used in `LOOT & CRESTS`/`KEY LEVEL ADVICE`), instead of the item's own base quality.
- `GEAR UPGRADES` now lists every item tied for the best upgrade option per slot (not just one), e.g. multiple stat-equivalent trinkets from different dungeons.
- Fixed `GEAR UPGRADES` rows overlapping when a slot's item list wrapped to multiple lines; rows are now chained to the real (measured) height of the row above them instead of a fixed spacing.

### Changed
- `KEY LEVEL ADVICE` and `GEAR UPGRADES` now also account for the Great Vault's higher item level cap when recommending the next key level: previously, advice stopped once the player's item level matched end-of-run loot, even though the Great Vault caps higher and still offered a real upgrade. Verified the season loot table's item levels against the KeystoneLoot addon's upgrade track/keystone-mapping data.
- `GEAR UPGRADES` now only recommends slots whose currently equipped item is itself droppable from a season dungeon (checked against `KeyParty_SeasonDungeonLootItems`, sourced from the KeystoneLoot addon's per-dungeon loot data), instead of recommending a key level for gear dungeons can't actually provide (e.g. raid/crafted items).
- Reworked `GEAR UPGRADES` to recommend specific replacement items (with icon, item name, and the season dungeon(s) that drop them) instead of just a key level per equipped slot. Candidates are matched to the player's class/spec via a new `KeyParty_SeasonItemDatabase` (also sourced from KeystoneLoot) and prioritized Tier upgrade > iLvl upgrade > Stats upgrade.
- Renamed the `BEST PROGRESSION KEY` UI section to `BEST PARTY PROGRESSION KEY`.
- `ROLL A KEY` is now synchronized across the party: only the party leader (or a solo player) can roll, an "Are you ready for...." message is sent to group chat, all party members' addons reveal the same rolled key after a ~3 second suspense delay, and group chat then shows `{DUNGEON NAME} +{level}?`.
- Shrunk the left and right sidebar toggle buttons and anchored them fully outside the main UI frame's edges, so they no longer overlap any part of the frame.
- `/kp demo` now activates party-only features (`BEST PROGRESSION KEY`, `/kp roll`, `/kp report`, etc.) against the fictional demo party, and prints the roll's group chat lines locally (prefixed `[Demo party chat]`) so they can be verified without a real group.
- Reorganized the season dungeon data by expansion for easier maintenance.
- `KeyPartySeasonData.lua` now has a separate `KeyParty_ActiveSeasonDungeons` section listing only the current season's dungeon rotation; `YOUR SCORES` and `/kp demo` now use this active-season pool instead of the full historical dungeon list, while teleport/name lookups still use the full list.

### Fixed
- The alt keystone and gear advice sidebars now default to expanded on new installations while preserving each existing user's saved visibility preference.
- The portal bar's keystone buttons now register clicks the same way as the other teleport icons, so they reliably cast their mapped teleport spell instead of appearing unresponsive.
- `!keys` is no longer sent to group chat after simply teleporting through a portal; it now only fires when a party actually forms/changes, after completing a Mythic+ dungeon, or when manually triggered via the refresh button.
- The portal bar now only shows keystone buttons for the local player and current party/raid members, excluding stale entries from players who are no longer in the group.
- The alt keystone sidebar is now anchored directly against the main UI frame instead of leaving a gap between the two panels.
- `AVAILABLE KEYSTONES` now only shows the local player and current party/raid members, with the local player's keystone always shown first.
- `GROUP RATINGS`, `BEST PROGRESSION KEY`, `/kp roll`, and `/kp report` now only consider the local player and current party/raid members, excluding data learned from players outside the group (e.g. via guild chat addon messages).
- Fixed the root cause of guild members appearing in the UI: incoming `KEY` and `ROLL` addon messages are now only accepted from confirmed current party/raid members, so a guild member's addon chatter can no longer populate the member list in the first place.
- The `LOOT & CRESTS` table in the gear advice sidebar no longer overlaps the `KEY LEVEL ADVICE` text; the table now anchors below the advice text regardless of how many lines it wraps to.
- Fixed `GEAR UPGRADES` showing no content: `GetItemInfo()` returns nil for items the client hasn't cached yet, which silently dropped every uncached candidate. Uncached items now request their data (`C_Item.RequestLoadItemDataByID`) and show a placeholder immediately, and the sidebar automatically retries once after a short delay so entries fill in with real names/icons.
- `GEAR UPGRADES` computation is now wrapped in a `pcall` so a failure prints the error to chat and still shows the section's empty-state message, instead of silently aborting the rest of the sidebar refresh. Also hardened spec detection to try both `C_SpecializationInfo` and the legacy `GetSpecialization`/`GetSpecializationInfo` globals, in case the former has replaced the latter.
- Fixed a `bad argument #2 to 'tonumber' (base out of range)` error in `GEAR UPGRADES`: `tonumber(select(3, GetItemInfo(...)))` passed all of `GetItemInfo`'s remaining return values into `tonumber` as extra arguments, and the item level ended up misread as an invalid numeric base. Wrapped the `select()` call in extra parentheses to truncate it to a single value.

This mod has no additional files