Skip to content
react-cards-opening

Rarity tiers

Six tiers ship, the six loot is sorted into almost everywhere: common, uncommon, rare, epic, legendary and mythic. Each arrives its own way. A common is set down in a puff of dust. A mythic puts the lights out, pulls everything in, and arrives in an impact frame with the air cracking around it.

One of each. Open them left to right.

The six that ship

TierColourWeightRoughlyHow it arrives
commongrey45nearly one in twoSet down: a ring along the floor, and dust.
uncommongreen27one in fourAlive: ripples, leaves on an updraft, fireflies.
rareblue15one in sevenIce: rings close in, then a crystal, a hex wave and shards.
epicpurple8one in twelveArcane: light is drawn in, then a turning sigil and a spiral.
legendaryorange4one in twenty fiveThe sun: a flash, a pillar of light, a sunburst, coins.
mythicred1one in a hundredA cataclysm: the lights fail, then a nova, cracks, lightning, a quake, and fire.

The colours are the same on every theme, because a tier's colour is how it is known: a rare is blue whatever the page around it looks like.

A tier is four things

An id, a word to show, a weight that says how often it comes up, and an effect level that says how loud the card's own reveal is. On top of that reveal, each tier plays a show of its own from the effects library. Effect plans lists what is in each and how to change it.

Four effect levels

The effect level is the part of the reveal that belongs to the card itself: how it waits face down, and what it does as it turns.

EffectOn the gridFace downAs it turnsStays up at least
quietring and sparksglow, then a hopburst1.75 s
loudadds a flash and a shakeglow, then a shakeburst and rays1.75 s
legendarythe samea longer shakeadds a flash, shockwaves, a foil border, a shine and sparkles2.65 s
mythicthe samethe longest shake, harder every timeeverything a legendary does3.4 s

A card names its tier

ts
const card = { id: "ash-phoenix", rarity: "mythic", name: "Ash Phoenix" };

A card whose rarity is not in the list still opens: quietly, in the theme's muted colour, and never from a roll. A typo in a tier id should not take a reveal down with it.

Weights are ratios

Only the proportion between weights matters. A card's chance in a draw is its tier's weight over the weights of every card in the pool, so two legendaries in a pool each come up half as often as one would. Rolls and odds has the functions.

Tiers of your own

tsx
import type { RarityTier } from "@react-cards-opening/core";

const tiers: RarityTier[] = [
  { id: "bronze", label: "Bronze", weight: 70, effect: "quiet" },
  { id: "silver", label: "Silver", weight: 25, effect: "loud" },
  { id: "gold", label: "Gold", weight: 5, effect: "legendary" },
];

<CardHunt rarities={tiers} theme={{ ...theme, rarity: { bronze: "#d08a5a", silver: "#c3ccd6", gold: "#f2cc60" } }} />

The label is shown as written, under the card's name, in normal case. Custom tiers walks through a full example.

Last updated . Read this page as Markdown.