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: ``` /Interface/AddOns/CoaExporter/CoaExporter.toc ``` Or, on Sub-Net's setup with the addons path symlinked: ```bash ./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 + spellbook + gear + mystic enchants /coae export talents JSON, talents only /coae export spellbook JSON, full spellbook (per tab, with spellID + rank + icon) /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 mdspellbook Markdown spellbook (one section per tab) /coae export md Full wiki page (header + gear + enchants + talents + spellbook) ``` ### 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 + icons /coae catalog skills Dump skills/dispels/passives only /coae catalog talents Dump talent-tree nodes only /coae catalog icons Dump server-resolved per-entry icons + per-(class, spec) sidebar tab icons via C_ClassInfo.GetSpecInfo (for db.exil.es) /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//SavedVariables/CoaExporter.lua`. The legacy slashes still work as aliases: `/skilldump` → `catalog skills`, `/talentdumpall` → `catalog 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`, `iconByEntryId`, `specInfoByClassSpec`, `_meta` | Layout ------ ``` CoaExporter/ ├── CoaExporter.toc ├── Util/Json.lua ├── Data/ScrollCatalog.lua (auto-generated from AtlasLootAscension) ├── Collectors/ (per-character data) │ ├── Talents.lua │ ├── Spellbook.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 │ └── Icons.lua (entry.Icon + C_ClassInfo.GetSpecInfo) ├── UI/ExportFrame.lua └── Core.lua (slash router) ``` Re-generate the scroll catalog from the latest AtlasLootAscension copy: ``` scripts/regen_scroll_catalog.py ```