Tier Color Palette

The canonical rarity color systems used across the game. Two parallel taxonomies exist: performance tiers (bronze/silver/gold/diamond) for end-of-run mission results, and rarity tiers (common → legendary) for entities (ships, artifacts, modifiers, reward cards, enemies). Each subsystem keeps its own table, and the same rarity name does not always resolve to the same hex code — see the drift notes below.

Performance tier palette (bronze/silver/gold/diamond)

Used to label the outcome of a completed arcade run. Awarded by MissionResult based on stars/objectives. Drives credits payouts, reward-track points, and ship-pull minimum rarity (see gameplay/concepts/rewards-and-track).

TierHexUse
bronze#cd7f32Worst clear — minimum payout, common pull
silver#c0c0c0Mid clear — common pull
gold#fbbf24Strong clear — uncommon pull
diamond#60a5faPerfect clear — uncommon pull, max points

Table lives in screens/RunStatsScreen.tsx (no shared module — the only consumer is the run-stats screen). Mission-result tier strings flow through MIN_PULL_BY_TIER, LEVEL_TRACK_POINTS_PER_RUN, and CREDITS_RANGES in data/reward-cards.ts, but those are numeric tables; the color hexes are local to the screen.

Entity rarity palette (common/uncommon/rare/epic/legendary)

The standard WoW-style five-tier ladder. Used for ships, artifacts, modifiers, enemies, and reward-track cards. Every consumer subsystem keeps its own hex table — there is no single shared module.

Ships — data/ships.ts:142 (RARITY_COLORS)

RarityColorAccent
common#ffffff#333333
uncommon#50ff78#38cc58
rare#44aaff#2288dd
epic#cc66ff#aa44dd
legendary#ffaa00#dd8800

Artifacts — data/artifacts/index.ts:108 (ARTIFACT_TIER_COLORS)

RarityColor
common#9d9d9d
uncommon#1eff00
rare#0070dd
epic#a335ee
legendary#ff8000

Reward-track cards — data/planet-progression.ts:47 (TRACK_RARITY_COLORS)

RarityColor
common#ffffff
uncommon#50ff78
rare#44aaff
epic#cc66ff
legendary#ffd228

Paired with TRACK_RARITY_BG (line 75) for dark/light card backgrounds:

RarityDarkLight
common#2a2a2a#ffffff
uncommon#0a5c2a#d4ffd8
rare#0a2a6e#d8eaff
epic#3a0a5c#f0d8f8
legendary#a03000#ffe8b0

Generic theme rarities — data/theme.ts:69 (RARITY_COLORS)

Theme module exposes a four-key ladder keyed by color name (not rarity name):

KeyHexName
green#50ff78Common
blue#50a0ffRare
epic#b450ffEpic
legend#ffd228Legendary

Note this omits uncommon entirely and uses different keys than every other table.

Modifiers — data/modifiers.ts:410 (MODIFIER_RARITY_COLORS)

Modifiers only use three tiers:

RarityColor
common#44aa44
uncommon#4488ff
rare#0070dd

Enemies — data/enemies/index.ts:245 (ENEMY_TIER_COLORS)

Enemy “rarity” is really enemy archetype tier (common foe vs. elite vs. rare elite vs. boss):

TierColor
default#cc3333
common#cc3333
uncommon#3388ff
rare#aa44ff
legendary#ff8800

Has no epic entry — the boss is legendary directly above rare.

Drift risk

Six tables, none coordinated. Same rarity name resolves differently across subsystems:

  • legendary orange: ships use #ffaa00, artifacts use #ff8000, enemies use #ff8800 — three different oranges.
  • legendary gold: reward-track uses #ffd228, theme uses the same #ffd228 — only place the two agree.
  • common: ships and reward-track use pure white #ffffff; artifacts use grey #9d9d9d; modifiers use green #44aa44; enemies use red #cc3333.
  • uncommon green: ships and reward-track agree on #50ff78; artifacts use a brighter #1eff00; theme module routes “Common” (sic) to #50ff78.
  • rare blue: artifacts and modifiers agree on #0070dd; ships use #44aaff; reward-track uses #44aaff; theme uses #50a0ff.

The theme module’s RARITY_COLORS is the most divergent — it labels its green key as “Common” while every other subsystem uses that exact hex (#50ff78) for uncommon. Treat theme.ts:RARITY_COLORS as legacy and don’t import it for new code.

When adding a new rarity-aware subsystem

  1. Decide whether you need the five-tier ladder (common → legendary) or a smaller subset.
  2. Match the ships palette (data/ships.ts:RARITY_COLORS) — it’s the cleanest five-tier table and aligns with the reward-track foreground colors.
  3. Do not invent new hexes. If the existing palettes don’t fit, the right move is to consolidate, not add a seventh table.