154 lines
5.3 KiB
Markdown
154 lines
5.3 KiB
Markdown
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:
|
|
|
|
```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/<acct>/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
|
|
```
|