pixi-reels
All recipes

Hold & Win: payer / doubler coin

A special payer orb lands and pumps its value into every other coin on the board — a gold token arcs to each coin in turn and bumps its amount on arrival. The same pattern doubles every value with one line changed.

Loading recipe…

Press Run. The board opens holding four coins; a payer orb lands and pays its value into every coin — a gold token arcs from the orb to each one, and on arrival that coin’s amount jumps and flashes. Press again to reset.

A special coin that reaches across the board

The board only knows { cell, id, data }. “Affect the other coins” is game logic the recipe runs over board.lockedCoins once the payer lands:

const targets = board.lockedCoins.filter((c) => c.id === 'coin');
for (const wave of coinWaves(targets, 'sequence')) {
  await Promise.all(wave.map((coin) =>
    bezierFly(token, from, abs(coin.cell), { lean: 'up', arriveScale: 0.6 }).then(() => {
      coin.data.value += PAY_VALUE;          // game state owns the value
      paintLabel(coin.cell, coin.data.value); // repaint from data
      board.symbolAt(coin.cell).playWin();    // the coin reacts
    })));
}

coinWaves(targets, 'sequence') arrives them one at a time; 'by-row', 'by-col', 'all' or { chunk: n } change the rhythm without touching anything else.

Doubler is the same recipe

Swap the arrival line for coin.data.value *= 2 and fly each coin’s own value as the token, and the payer becomes a doubler. The mechanic is “walk the locked coins, mutate their payload, repaint” — the board never participates, so any per-coin transform (add, double, multiply, set a tier) is the same three lines.