Skip to content

Mystery cards

After an official match, the prize roll can drop a sealed mystery card instead of coins, XP, or a known cosmetic. Authority owns every roll.

Knobs: shared/mysteryCards.ts.

Drop

KnobValue
Drop chance12% when the equipment bag has a free cell
PitySealed card after 10 consecutive match rewards without one (bag still needs a free cell)
One card per source matchUnique on (player_id, source_match_id)
Bag occupancyowned cosmetics + unopened cards

Replay of the same match claim returns the same card.

Rarity is picked first among tiers that still have an unowned item (empty tiers drop out, weights renormalize). Inside a tier the item is uniform.

RarityWeight
Common50%
Uncommon25%
Rare15%
Epic8%
Legendary2%

The pool is paid and drop-only cosmetics the player does not own. Free starters are out.

Resolve (once)

MethodWhat happens
Stripe$1 Checkout locked to that card id
Gift codeOne-use DOOR-XXXX-XXXX-XXXX (admin-minted today)
Monthly freebieOne per UTC calendar month
Sell100 coins; card marked sold; slot frees

There is no re-open. Rate limit: 20 mystery-card HTTP actions / 60s / player.

Admins can grant an unopened card (give … mystery_card) or mint codes (mystery_code). A player-facing gift-code store and a revealed/sold history UI are not shipped yet.

Where it shows

Unopened cards take a bag cell on the Rankings / equipment UI. Match-over can show a sealed face. /me lists unopened cards only.

Play guide for Doors. Official matches at doorsfps.com.