No description
  • Lua 93.7%
  • Python 6.3%
Find a file
deko 69d764e7f3 Offer the Cooldown Manager profiles for the whole class
The CDM panel showed Luxthos' profile for the active spec only. It now
lists every spec of the player's class that has a profile, one row each,
with Copy/Import acting on the picked spec (starting on the active one)
plus an "Import all specs" button.

Imports are deduplicated: the layout we created for a spec is remembered
per character and deleted before the new one is created, so re-importing
replaces it instead of adding a duplicate or running into the 5-layout
cap. Layouts are looked up by name within the current spec only, hence
the remembered IDs for the other specs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 13:45:36 +02:00
DekosTalentLoadout Offer the Cooldown Manager profiles for the whole class 2026-08-16 13:45:36 +02:00
scraper Offer Luxthos' Cooldown Manager profile, one Data file per source 2026-08-11 21:17:54 +02:00
.gitignore Initial commit: Dekos Talent Loadout addon + scraper 2026-07-21 17:27:00 +02:00
README.md Offer the Cooldown Manager profiles for the whole class 2026-08-16 13:45:36 +02:00

Dekos Talent Loadout

A tiny WoW (Retail) addon that shows current recommended talent import strings for any class/spec, from three sources — archon.gg (a build per Mythic+ dungeon and per raid boss), icy-veins.com (its labelled builds) and wowhead.com (per hero talent × Raid / Mythic+ / Delves). Type /dtl, pick a build, Ctrl+C, paste into Blizzard's talent import dialog — or use Apply for your own spec. The bar also shows Archon's stat priority for the spec (Mythic+ and Raid). Two extra panels dock to Blizzard's own windows: the Omnium Folio BiS runes, and the Luxthos Cooldown Manager profiles for every spec of your class (one click to import).

Why two parts?

WoW addons cannot access the internet — the in-game Lua sandbox has no network. So the data can't be fetched live from a button. Instead:

scraper/scrape.py   →  fetches the sites, writes DekosTalentLoadout/Data/*.lua
DekosTalentLoadout/ →  the addon; /dtl looks up the baked-in string for your spec

Refreshing the data = re-run the scraper, then /reload in game.

Usage

1. Refresh the data (whenever you want it current, e.g. after a patch)

python3 scraper/scrape.py                 # everything (~1 minute)
python3 scraper/scrape.py luxthos         # just one source
python3 scraper/scrape.py archon folio    # or a few

No dependencies (Python 3 standard library only). One step per source, each writing its own file under DekosTalentLoadout/Data/, so sources can be refreshed independently (Archon changes weekly, Luxthos on its own schedule):

step file contents
archon Archon.lua talent build per dungeon/boss + stat priority
icyveins IcyVeins.lua the labelled Icy Veins builds
wowhead Wowhead.lua the Wowhead guide builds
folio Folio.lua Omnium Folio BiS runes
luxthos Luxthos.lua Cooldown Manager profiles

Each file carries its own generation date (shown in the bar's footer per source). Adding a file to DekosTalentLoadout.toc is only needed if you add a new source.

2. Install the addon

Copy (or symlink) the DekosTalentLoadout/ folder into your WoW AddOns folder:

<WoW>/_retail_/Interface/AddOns/DekosTalentLoadout/

A symlink is convenient so re-running the scraper updates the installed addon directly:

ln -s "$PWD/DekosTalentLoadout" "<WoW>/_retail_/Interface/AddOns/DekosTalentLoadout"

3. In game

The addon is a side bar integrated into the talent window: it is a child of Blizzard's talent panel (PlayerSpellsFrame), docked full-height to its right edge and styled to match, so it opens, moves and closes together with your talents. Open your talents (default key N) and the bar is there. /dtl opens the talent window if it's closed, or toggles the bar's visibility if it's open.

Four dropdowns — class, spec, source (Archon / Icy Veins / Wowhead) and build — stacked down the bar let you pick exactly one build. Archon offers a build per Mythic+ dungeon (incl. All Dungeons) and per raid boss (incl. All Bosses); Icy Veins offers its labelled builds (Single Target, AoE, Raid, …). The selected build has three buttons:

  • Copy — selects the whole string; press Ctrl+C. Works for any spec.
  • Create Loadout — creates a saved talent loadout named "<Source> <Build>" (e.g. Archon M+ Skyreach). If one of that name already exists it is updated in place (all same-named ones are removed first), so it never piles up duplicates.
  • Apply — applies the talents to your character now. It reuses a single DTL (temp) loadout (overwritten each time, left in your list on purpose). Your action bars are preserved (the loadout uses shared bars).

Below the buttons, Stat Priority (Archon) shows one line per content type for the selected spec (independent of the chosen source and build), e.g. M+ Int > Crit / Mast > Haste > Vers. Stats Archon rates equally are joined with /.

Both loadout buttons only work for your own currently active spec (a WoW restriction — you can't edit another spec's talents) and only out of combat. If Blizzard's taint protection blocks the import, the talent UI opens so you can paste the copied string instead.

Cooldown Manager: a panel docks to Blizzard's Cooldown Manager window (CooldownViewerSettings) and offers Luxthos' CDM profiles for every spec of your class — one per spec, from luxthos.com. A row per spec picks which profile the buttons use (it starts on your active spec and follows spec changes). Copy selects the string for Ctrl+C (paste it into the window's own Import button); Import & Activate hands the same string straight to Blizzard's layout manager: it creates a layout named Luxthos <Spec> and switches to it. Import all specs does the same for the whole class in one click. Re-importing never piles up duplicates: the addon remembers the layout it created per spec (per character) and deletes it before creating the new one, so you always end up with one Luxthos <Spec> layout per spec and never hit the game's 5-layout cap. Layouts belong to a spec, so if the game files another spec's profile under your current one it is rolled back again and the panel names the specs you have to switch to; Copy works for all of them regardless. Your other layouts are untouched.

Omnium Folio: a second small panel docks to the Omnium Folio window itself (Blizzard's ExpansionLandingPage / Midnight landing overlay) and lists the BiS runes for your active spec (rows 15, from Wowhead's BiS-gear page), each with its icon and a hover tooltip. It appears when you open the Folio and closes with it. This is display only — WoW exposes no API for addons to set Folio runes, so you pick them yourself; the panel just tells you which.

Notes

  • Interface version: DekosTalentLoadout.toc lists ## Interface: 120007, 120100 (patches 12.0.7 and 12.1.0). If a future build still shows the addon as "out of date", add its number to that comma-separated list, or tick Load out of date AddOns on the character screen.
  • Scope: Archon = a build per Mythic+ dungeon (key +7…, this week) and per raid boss (mythic), plus the "All Dungeons"/"All Bosses" aggregates — the dungeon/boss pool is discovered from the page, so it follows the season. The stat priority comes from Archon's overview page and exists per content type only (M+ all dungeons, Raid all bosses) — not per dungeon or boss. Icy Veins = every build listed on the spec page. Wowhead = each guide build, labelled <Hero Talent> <Content> (e.g. Templar Raid).
  • Gaps: if a spec renders its builds only via a client-side JS builder, a plain scrape finds no copyable string and the source shows "no build" — use another source then. The scraper prints which specs came up empty per step. (As of 2026-08-11 every source covers all 40 specs.)
  • New specs: if Blizzard adds a spec, it appears in the dropdown but shows no builds until it's added to the SPECS table in scraper/scrape.py. Each row needs the spec's global specID — which is encoded in any of its import strings (version byte + 16-bit specID), so it can be read off an Archon build string.
  • Data sources: archon.gg, icy-veins.com, wowhead.com, luxthos.com (whose profiles are hosted as wago.io embeds). Be reasonable with scrape frequency. This is for personal use.