Files
coa-exporter/README.md
T
florian.berthold 2b97a68317 Initial CoaExporter: merge AscensionExporter + CoA skill/talent dumpers
Folds three previously-separate Lua addons into one for guild-member use:

  - ascension-char-exporter (per-character JSON/Wiki.js Markdown via /ascx)
  - CoA_SkillExporter      (skills/dispels/passives catalog via /skilldump)
  - CoA_TalentExporter     (talent-tree catalog via /talentdumpall)

The two CoA catalog dumpers were ~90% identical entry-walkers. Pulled the
shared C_CharacterAdvancement.GetAllEntries() loop into Catalogs/Common.lua
and have Skills.lua / Talents.lua register collectors that share a single
scan pass (so /coae catalog all walks the entry list once, not twice).

Per-character collectors (Talents, Gear, Enchants, MysticScrolls,
MysticScrollProbe) and the AtlasLootAscension-derived ScrollCatalog data
are kept verbatim, just rebranded.

Slash interface:

  /coae export {all|talents|gear|enchants|mdgear|mdenchants|md}
  /coae catalog {all|skills|talents|dispels [class]|passives [class]|status}
  /coae scrolls {scan|export|reset|status}
  /coae sv on|off | debug | help

Aliases: /coaexp, /ascx, /asxc, plus legacy /skilldump /talentdumpall
/dispels /passives that map to the catalog subcommands.

SavedVariables: CoaExporterSaved, CoaExporterConfig, CoaExporterScrollCache,
CoaExporterCatalog (skills/dispels/levelPassives/talents/_meta).
2026-05-07 10:43:16 +02:00

4.8 KiB

CoA Exporter

One Lua addon for Children of Ascension. Two jobs:

  1. Per-character export — your character's talents, gear, mystic enchants, and the full mystic-scroll tooltip DB. Output as JSON or Wiki.js Markdown for guides on the guild wiki / exil.es.
  2. Game-data catalog dump — every skill, level passive, dispel, and talent-tree node for all 21 CoA classes. Feeds db.exil.es and the talent calculator.

Built for Ascension WotLK 3.3.5 and depends on Ascension's C_CharacterAdvancement / C_MysticEnchant APIs.

This is the merged successor to:

  • ascension-char-exporter (per-character, /ascx)
  • CoA_SkillExporter (/skilldump, /dispels, /passives)
  • CoA_TalentExporter (/talentdumpall)

Install

Copy CoaExporter/ into your AddOns directory:

<wow>/Interface/AddOns/CoaExporter/CoaExporter.toc

Or, on Sub-Net's setup with the addons path symlinked:

./scripts/install_addon_sub.sh

Reload (/reload or relog) so the .toc is picked up.

Slash commands

Primary slash: /coae. Aliases: /coaexp, /ascx, /asxc.

Per-character export

/coae export all              JSON of talents + gear + mystic enchants
/coae export talents          JSON, talents only
/coae export gear             JSON, gear only
/coae export enchants         JSON, mystic enchants only

/coae export mdgear           Markdown gear table  (Wiki.js)
/coae export mdenchants       Markdown enchants table
/coae export md               Full wiki page (header + gear + enchants + talents)

Mystic scroll catalog (per-account, slow scan)

/coae scrolls scan            Resolve all 825 scrolls' tooltips (~20s, retries)
/coae scrolls export          JSON of the resolved cache
/coae scrolls reset           Clear the cache
/coae scrolls status          How many scrolls have been resolved

The cache lives in CoaExporterScrollCache (SavedVariables). Run scan once per account; results persist across sessions and characters.

Game-data catalog (for db.exil.es / talent-calc)

/coae catalog all             One pass: dump skills + talents
/coae catalog skills          Dump skills/dispels/passives only
/coae catalog talents         Dump talent-tree nodes only

/coae catalog dispels [class] Print dispel summary (or for one class)
/coae catalog passives [class]Print level-passive summary (or for one class)
/coae catalog status          Last scan time and counts

The catalog dump walks C_CharacterAdvancement.GetAllEntries() once and fans out to all registered collectors, so catalog all only walks the list once. After it finishes, /reload to flush the SavedVariable CoaExporterCatalog to disk; pick it up in WTF/Account/<acct>/SavedVariables/CoaExporter.lua.

The legacy slashes still work as aliases: /skilldumpcatalog skills, /talentdumpallcatalog talents, /dispels and /passives map to the catalog list helpers.

Misc

/coae sv on|off               Toggle SavedVariables snapshot of /coae export
/coae debug                   Show collector status
/coae help

UI

/coae (with no args) opens the export window. Two rows of buttons:

  • Row 1 — character: All / Talents / Gear / Enchants / MD Gear / MD Enchants / MD Full
  • Row 2 — catalogs: Catalog: Skills / Catalog: Talents / Catalog: All / Scrolls: Scan

The window is a plain copy-out box. Ctrl+C after it auto-selects the text.

SavedVariables

Key Written by Notes
CoaExporterSaved /coae export … when sv = on Latest character export, keyed by realm:name
CoaExporterConfig /coae sv on/off Just enableSavedVariables for now
CoaExporterScrollCache /coae scrolls scan Mystic scroll item tooltips
CoaExporterCatalog /coae catalog … skills, dispels, levelPassives, talents, _meta

Layout

CoaExporter/
├── CoaExporter.toc
├── Util/Json.lua
├── Data/ScrollCatalog.lua          (auto-generated from AtlasLootAscension)
├── Collectors/                      (per-character data)
│   ├── Talents.lua
│   ├── Gear.lua
│   ├── Enchants.lua
│   ├── MysticScrolls.lua
│   └── MysticScrollProbe.lua
├── Catalogs/                        (game-data dumps for the wiki/calc)
│   ├── Common.lua                   (one entry-walk; fans out to collectors)
│   ├── Skills.lua
│   └── Talents.lua
├── UI/ExportFrame.lua
└── Core.lua                         (slash router)

Re-generate the scroll catalog from the latest AtlasLootAscension copy:

scripts/regen_scroll_catalog.py