AP Store¶
A long-term sink for the Achievement Points (AP) you earn from completing achievements. The store sells cosmetics and quality-of-life unlocks; nothing for sale gives you a power advantage in combat.
Phase 1b (live 2026-05-26) ships the full in-game CEF panel. Phase 1a's chat command stays available for power-users and accessibility. Mounts, hues, titles, and cooldown reductions land in follow-up phases.
How to use it — the panel¶
Type [store with no arguments and the AP Store panel opens.
- Title row: panel name + your AP balance + reserved donation coins.
- Tab strip: EMOTES (active), MOUNTS, HUES, COOLDOWNS, TITLES, MISC, OWNED. Tabs that have no items yet still appear — they show a "Coming soon" splash so the layout never feels broken.
- Item list (left column): every item in the active category. Each row has its name, description, AP cost, an owned-progress bar (for the emote deed — how many of the unlockable set you've collected, e.g. "6 / 30"), and a Buy button.
- Preview pane (right column): select an item to see flavour text + a larger Purchase button.
- Status bar (bottom): the result of your last action — "Purchased Random Emote Deed (100 AP)", "Not enough AP", etc.
- OWNED tab: read-only inventory of every emote (and future cosmetic) your account has unlocked.
Items priced ≥ 500 AP raise a confirmation modal before charging — "Spend 500 AP on <item>?" with Cancel + Buy buttons before the AP leaves your account. (Nothing in the catalog costs that much yet; it'll guard the pricier cosmetics — mounts, hues — when they ship.)
Cross-panel shortcuts¶
- Achievements panel → click the gold AP balance badge in the title row → Store opens.
- Profile panel → click the new STORE quick-access button (between ACHIEVEMENTS and LEADERBOARD) → Store opens.
- Right-click anywhere on the panel → closes it. (Esc no longer closes panels across the client — every panel footer now reads "Right click to close" to match.)
How to use it — the chat fallback¶
The Phase 1a chat surface is still available:
| Command | What it does |
|---|---|
[store |
Open the in-game panel (Phase 1b). |
[store list |
List every item available for purchase, chat-style (back-compat / accessibility). |
[store balance |
Show your AP and donation-coin balances. |
[store buy <itemId> |
Attempt a purchase. Error message if you can't afford it or are rate-limited. |
[store owned |
List everything your account has unlocked from the store. |
You can take one store action per second per character to keep accidental double-clicks (and any future client exploit attempts) from rapidly draining AP.
Security¶
The client only ever sends an item id to the server. The canonical price always comes from the server's catalog — there is no API path that lets the client influence what gets debited. Even if someone hand-crafts a malformed packet, the server reads the price from StoreCatalog, never from the wire payload.
What's in the catalog¶
Only the emote deed for now. It's account-bound — the emote unlocks on every character on your account, not just the one that bought it.
| Item id | Display | Cost | What it does |
|---|---|---|---|
emote.deed |
Random Emote Deed | 100 AP | Rolls a uniformly-random emote you don't already own and grants it to your account. |
How the deed rolls¶
- Buy it with
[store buy emote.deed. - The server picks a uniformly-random emote you do not already own.
- The emote is added to your unlocked list. You'll see a system message:
You learned the emote: <name>. - Immediately usable via the matching
[<emote name>command (e.g.[wink,[burp).
Every roll is something new — it never hands you a duplicate — so you keep buying to collect the set (and to chase the specific one you want; you can't pick which you get). If your account already owns every unlockable emote, the deed refunds your AP and tells you so:
You already own every emote; your AP has been refunded.
You only pay if you actually got a new emote. The refund is automatic — there's no claim window to miss.
Tiers¶
Just two: a free starter set everyone gets, and one big Unlockable pool you roll for.
| Tier | Cost | Emotes |
|---|---|---|
| Starter | free on every account | bow, salute, wave, laugh, cheer, sigh, cry, clap, yell, fart |
| Unlockable | 100 AP per random roll | the whole vocal emote set — puke, cackle, cheer, scream, kiss, burp, sniff, hiccup, … (34 and growing) |
Because the roller never repeats what you already own, collecting the whole set costs 100 AP × pool-size across that many successful rolls — but since you can't choose which emote a roll gives you, a specific one may take a few tries.
Where AP comes from¶
AP is earned by completing Achievements. See Systems → Achievements for the full credit list. Every character on your account earns into their own AP balance; the store's emote unlocks are pooled at the account level so spending on one character benefits every alt.
Donation coins¶
The store schema reserves a second currency slot (Donation) for a future donation-coin path. Donation coins are not earnable in Phase 1a — [store balance will show your balance as 0. No item in the launch catalog requires them. They're documented here only so you know what the slot is for if you see it in a future update.
Rate limit¶
Each character can take one store action per second. If you click too fast you'll see:
Slow down — you can use the store once per second.
This is also a safety belt: it prevents accidental double-purchases on lag and shuts down any hypothetical future panel-exploit that tries to drain AP in a tight loop.
Roadmap (not yet shipped)¶
Future phases will add:
- Mounts (ethereal horse / ostard / kirin / unicorn / beetle, AP-priced).
- Hue packs (themed cloth-dye palettes — sunset, forest, royal, ocean, shadow, etc.).
- Titles, cooldown reductions for skill loadouts, convenience tokens, panel skins, vanity pets, and more.
- Public web catalog (read-only) so prospective players can preview the store before signing up. Scaffolded; not yet published.
- A search box + filter chips in the panel for when the catalog grows past a couple-of-dozen items.
Every gameplay-impactful item will stay AP-only. Donation coins, when they ship, will sell only cosmetics so they never become pay-to-win.