1.6.0 · combat
Combat Meter
Damage, healing and damage taken broken down per ability, pet included, with rates, crits and your real miss and dodge rates. Pages back through past fights, kept across a reload.
Userscript · MIT · read-only
One install button adds an Addons entry to the game menu. Browse a built-in marketplace, install an addon, configure it, all inside the game, with nothing about the game itself modified.
It runs as a userscript. It reads only what the game already hands the browser, and it never plays for you.
Needs Tampermonkey or Violentmonkey. Three minutes, mostly waiting on the store.
16 addons ship with the loader, reviewed and installed from inside the game. Five of them:
1.6.0 · combat
Damage, healing and damage taken broken down per ability, pet included, with rates, crits and your real miss and dodge rates. Pages back through past fights, kept across a reload.
1.5.1 · economy · interface
Everything you own, on every character: bags, bank, Materials Vault and mailbox pooled into one row an item; hover for who holds how many where. Vault materials against their cap, and vendor value.
1.2.0 · interface · world
A nameplate over every unit: health, casts, effects and raid marks. It names the side each player is on in PvP, which no field says, and whether a cast is coming at you.
1.5.0 · world · progression · interface
Where the thing your quest wants actually is: the zone, the distance, the way to turn and a world pin for every objective in your log, and who takes each quest that is ready.
1.7.5 · economy · interface
A price history for a market that keeps almost none, and a scanner over it: every page you read at the Merchant is written down, each listing is judged against the vendor's floor, the page's own second-cheapest and your recorded prices, what is worth buying is ranked by what you would clear on the resale.
The whole install
No launcher, no account, nothing to keep running. The loader waits for the HUD to exist and adds one button to the menu you already use.
The other 11
Before you install anything
Addon code runs in the game page and can read anything the page can, including your session
token. The woc API is an ergonomic surface, not a security boundary.
Ships with the loader, cannot be removed, and its contents are reviewed. It is the same repository as the loader itself.
You may add your own. Doing so means trusting whoever maintains it with your account. The loader says so at that moment, not afterwards.
No send API, no synthetic input, no automation of play. Addons reformat information you already have. This is a boundary, not a missing feature.
The loader shows what the addon declares. Read the declaration and the caveat under it together: they are one statement.
The declared list is what the author says the addon is for, not a limit the loader enforces.
No game source is modified and no build is forked. The loader reaches the game only through surfaces a browser already gets:
window.__gamethe global the game already exposesWebSocketobserved, never written toHUD DOM idswhere panels anchor themselvesaudio packfor addon sounds that match the gameA folder, a JSON manifest, one plain JavaScript file. No bundler, no toolchain, no framework.
const win = woc.ui.frame({
id: 'main',
title: 'My Addon',
save: true,
});
woc.net.onEvent('damage', (event) => {
win.body.textContent = String(event.amount);
});
woc.keys.bind('toggle', () => {
win.toggle();
woc.sound.play('ui_click');
});
Dev Harness ships with the loader for this: it exercises every API surface and reports what it found, so a change can be checked in the game rather than only in a test.