Skip to main content

Locked Reels

Freezes whole reels that show a lock symbol and respins the others until the respins run out or every reel is locked. A stateful maths node that also compiles to the RGS.

Fire Start with the triggering spin on Reels (Weighted Reels reels). Every column showing Lock Symbol, or listed in Lock Columns, locks and its symbols are frozen; respinsLeft becomes Respins and active turns true. Start activates even when nothing locked, while a Do while idle runs the same scan but activates only if a column locked. With Respins at 0 the round is over on the call that starts it.

For each respin, spin only the free columns: wire freeColumns into Column Spin Router freeColumns, a browser-only node that fires spin and stop for those reel columns alone, and arm a Reel Stop Watcher on the same columns. Then feed the new grid into Reels and fire Do: locked columns are restored from the frozen copy, a free column now showing Lock Symbol locks too and counts in newLocks, and respinsLeft returns to Respins when something new locked (with Reset Respins On New Lock on) or counts down by one otherwise.

roundOver turns true on the call where respinsLeft reaches 0 or every column is locked, and active drops on the same call. The reels output is the merged grid, the one the display must show and the win evaluator must score: hold it in a Variable, wire that variable into Reels, write reels back after every call and let the evaluator and the display read the same variable.

State persists across rounds for identified players only; a guest gets a single-round lock. On an empty or ragged grid the node logs the error, writes it to inspect data, empties every output, keeps its state and still fires Done. On the server Start and Reset are booleans for the round, and a round with neither set is a plain Do.

Inputs​

Parameters​

DataDescription
Reels (array)The grid for this call: the triggering spin on Start, then each respin's grid. Locked columns are restored from the frozen copy.
Lock Symbol (number)Symbol id that locks a column showing it anywhere; 0 = only Lock Columns lock. Default 0.
Lock Columns (forced, 0-based) (array)0-based column indices that lock regardless of symbols; an array or a comma-separated string. Default empty.
Respins (number)Respins granted on Start and, with the reset option on, after each new lock. Default 3.
Reset Respins On New Lock (boolean)When on, a new lock refills respinsLeft to Respins; when off, it only counts down. Default on.

Actions​

SignalDescription
DoRuns the node.
StartStarts a lock round from the grid on Reels: locks the matching columns, sets the respins and activates.
ResetClears the node's state and starts again.

Outputs​

Events​

SignalDescription
DoneFires when the node has finished, on success and failure alike.

Results​

DataDescription
Reels (array)The merged grid: frozen columns restored, free columns as landed. Display and score this grid.
Locked Columns (array)0-based indices of the locked columns.
Free Columns (array)0-based indices of the columns still spinning; wire to Column Spin Router freeColumns.
Locked Count (number)Number of locked columns.
New Locks (number)Columns that locked on this call.
Respins Left (number)Respins remaining after this call.
Round Over (boolean)True on the call where the respins reach 0 or every column is locked. A boolean, not a signal.
Active (boolean)True while a lock round is running.

Usage​

  1. Wire the triggering spin into Reels, set Lock Symbol and Respins, and fire Start.
  2. Write reels to the grid Variable; score and display that variable.
  3. Wire freeColumns into Column Spin Router Free Columns and spin.
  4. When the free columns have stopped, write the new grid into Reels and fire Do.
  5. Repeat until roundOver is true, then fire Reset before the next base spin.
caution

Reset clears the locks and then scans the grid on Reels like an idle Do: columns that still show Lock Symbol, or are forced by Lock Columns, lock again in the same call. Reset with a grid that has no lock symbol, or accept the restart.