Build a GameCreating Crystal Cascade

Appendix B — Message Map

Crystal Cascade is built on messages (Custom Events): one piece of the game announces something, and the pieces that care listen. This map shows every message in the game: who sends it, who it goes to, and who hears it. A message must be spelled exactly the same where it is sent and where it is heard; this is the place to check.

Two ways to send. Trigger Custom Event goes to everyone who listens (a broadcast). Trigger Custom Event on Object goes to one Object only; the saved target chooses the sender, a newly created Object, or a selected Object. For a Shared Object Variable, the map names its binding on each sending Object.

B.1 Chains to Follow

Read each line left to right: a message, the Logic (in bold) that hears it and sends the next message, and at the end the Logic that hears the last one.

  • gameResumed → Soft Drop Piece → fallNormally → Soft Drop Piece
  • gameResumed → Pause The Game → panelClosed → Panel Choices → panelChoiceChanged → Main Menu Controls → menuChoiceChanged → Show Menu Info, Show Menu Sprint Best
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → crystalsLocked → Show Well Cell → wellChanged → Show Well Cell
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → wellChanged → Show Well Cell
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → linesCleared → Count Level → levelUp → Show Level Up → messageShown → Fade Out Message
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → linesCleared → Finish The Mode → goalReached → Finish The Mode → gameOver → Piece Gravity, Show Piece Crystal, Count Lines, Show Preview Crystal, Score Points, Count Combo, Count Level, Keep Bests, Check Top Out, Open Results, Count Clears, Time The Game, Game Music, Finish The Mode, Count Pieces, Pause The Game
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → linesCleared → Finish The Mode → goalReached → Finish The Mode → settleClear → Clear Full Lines → wellEmptied → Show All Clear → messageShown → Fade Out Message
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → linesCleared → Finish The Mode → goalReached → Finish The Mode → modeFinished → Keep Bests, Show Result Title
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Score Points → clearScored → Show Clear Name → messageShown → Fade Out Message
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Score Points → clearScored → Show Back-To-Back → messageShown → Fade Out Message
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Score Points → clearScored → Count Combo → comboScored → Show Combo → messageShown → Fade Out Message
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → gameLost → Show Well Cell
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → gameOver → Piece Gravity, Show Piece Crystal, Count Lines, Show Preview Crystal, Score Points, Count Combo, Count Level, Keep Bests, Check Top Out, Open Results, Count Clears, Time The Game, Game Music, Finish The Mode, Count Pieces, Pause The Game
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → freshStart → Start Afresh → wellChanged → Show Well Cell
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → freshStart → Start Afresh → wellReset → Spawn Piece → spawnPiece → Spawn Piece → pieceMoved → Show Piece Crystal
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → freshStart → Start Afresh → wellReset → Spawn Piece → spawnPiece → Soft Drop Piece → fallFaster → Soft Drop Piece
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → freshStart → Start Afresh → wellReset → Spawn Piece → spawnPiece → Spawn Piece → pieceBlocked
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → pieceLocked → Clear Full Lines → lockChecked → Check Top Out → toppedOut → Check Top Out → freshStart → Show Fresh Start → messageShown → Fade Out Message
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → holdChanged → Show Preview Crystal → queueChanged → Show Preview Crystal
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockPiece → Lock Piece → piecePlaced → Count Pieces
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → pieceLanded → Piece Gravity → lockDelayStarted → Show Piece Crystal
  • moveOnce → Move Piece → pieceShifted → Piece Gravity → lockDelayStarted → Show Piece Crystal
  • moveOnce → Move Piece → pieceMoved → Show Piece Crystal
  • pieceFell → Soft Drop Piece → softDropRow → Score Points
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Spawn Piece → pieceMoved → Show Piece Crystal
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Soft Drop Piece → fallFaster → Soft Drop Piece
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Spawn Piece → pieceBlocked → Check Top Out → toppedOut → Check Top Out → gameLost → Show Well Cell
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Spawn Piece → pieceBlocked → Check Top Out → toppedOut → Check Top Out → gameOver → Piece Gravity, Show Piece Crystal, Count Lines, Show Preview Crystal, Score Points, Count Combo, Count Level, Keep Bests, Check Top Out, Open Results, Count Clears, Time The Game, Game Music, Finish The Mode, Count Pieces, Pause The Game
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Spawn Piece → pieceBlocked → Check Top Out → toppedOut → Check Top Out → freshStart → Start Afresh → wellChanged → Show Well Cell
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Spawn Piece → pieceBlocked → Check Top Out → toppedOut → Check Top Out → freshStart → Start Afresh → wellReset
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → spawnPiece → Spawn Piece → pieceBlocked → Check Top Out → toppedOut → Check Top Out → freshStart → Show Fresh Start → messageShown → Fade Out Message
  • playStarted → Deal Pieces → nextPieceDue → Spawn Piece → pieceDealt → Deal Pieces → queueChanged → Show Preview Crystal
  • playStarted → Show Go → messageShown → Fade Out Message
  • gamePaused → Pause The Game → panelOpened → Panel Choices
  • choiceRun → Leave For The Menu → settleClear → Clear Full Lines → wellEmptied → Show All Clear → messageShown → Fade Out Message
  • choiceRun → Leave For The Menu → gameLeft → Keep Bests
  • choiceRun → Open How To Play → howToPlayOpened → Panel Choices, Panel Choice, Main Menu Controls, Show With Help, Hide With Help

B.2 All Messages, in the Order the Build Adds Them

Message Sent by Goes to Heard by Chapter
lockDelayStarted Piece Gravity (on Falling Piece) everyone who listens Show Piece Crystal (on Falling Crystal, Ghost Crystal) 1
lockPiece Piece Gravity (on Falling Piece); Hard Drop Piece (on Falling Piece) its own Object only Lock Piece (on Falling Piece); Check Twist (on Falling Piece) 1
moveOnce Read The Move Keys (on Falling Piece) its own Object only Move Piece (on Falling Piece) 1
pieceLanded Piece Gravity (on Falling Piece) its own Object only Piece Gravity (on Falling Piece) 1
pieceMoved Spawn Piece (on Falling Piece); Piece Gravity (on Falling Piece); Move Piece (on Falling Piece); Rotate With Kicks; Hard Drop Piece (on Falling Piece) everyone who listens Show Piece Crystal (on Falling Crystal, Ghost Crystal) 1
spawnPiece Spawn Piece (on Falling Piece); Hold Piece (on Falling Piece) its own Object only Spawn Piece (on Falling Piece); Piece Gravity (on Falling Piece); Soft Drop Piece (on Falling Piece) 1
wellChanged Show Well Cell (on Well Cell); Clear Full Lines (on Glass Well); Start Afresh (on Game Rules) its own Object only; everyone who listens Show Well Cell (on Well Cell) 1
fallFaster Soft Drop Piece (on Falling Piece) its own Object only Soft Drop Piece (on Falling Piece) 2
fallNormally Soft Drop Piece (on Falling Piece) its own Object only Soft Drop Piece (on Falling Piece) 2
hardDropped Hard Drop Piece (on Falling Piece) everyone who listens Show Drop Streaks (on Falling Piece); Score Points (on Game Rules) 2
pieceShifted Move Piece (on Falling Piece); Rotate With Kicks its own Object only; the selected Object ({“kind”:“logicInput”,“input”:“piece”}) Piece Gravity (on Falling Piece) 2
crystalsLocked Lock Piece (on Falling Piece) everyone who listens Show Well Cell (on Well Cell) 3
linesCleared Clear Full Lines (on Glass Well) everyone who listens Count Lines (on Game Rules); Count Level (on Game Rules); Show Lines Left (on LINES LEFT Value); Finish The Mode (on Game Rules) 3
pieceLocked Lock Piece (on Falling Piece) everyone who listens Clear Full Lines (on Glass Well) 3
holdChanged Lock Piece (on Falling Piece); Hold Piece (on Falling Piece) everyone who listens Show Preview Crystal (on Preview Crystal) 4
nextPieceDue Clear Full Lines (on Glass Well); Deal Pieces (on Piece Queue); Hold Piece (on Falling Piece) everyone who listens; its own Object only Spawn Piece (on Falling Piece) 4
pieceDealt Spawn Piece (on Falling Piece) everyone who listens Deal Pieces (on Piece Queue) 4
queueChanged Deal Pieces (on Piece Queue); Show Preview Crystal (on Preview Crystal) everyone who listens; its own Object only Show Preview Crystal (on Preview Crystal) 4
clearScored Score Points (on Game Rules) everyone who listens Show Clear Name (on Clear Name); Count Combo (on Game Rules); Show Back-To-Back (on Back-To-Back Text); Count Clears (on Game Rules) 5
comboScored Count Combo (on Game Rules) everyone who listens Show Combo (on Combo Text) 5
levelUp Count Level (on Game Rules) everyone who listens Show Level Up (on Level Up Text) 5
lockChecked Clear Full Lines (on Glass Well) everyone who listens Score Points (on Game Rules); Check Top Out (on Game Rules) 5
messageShown Show Clear Name (on Clear Name); Show Combo (on Combo Text); Show Back-To-Back (on Back-To-Back Text); Show All Clear (on All Clear); Show Level Up (on Level Up Text); Show Fresh Start (on Fresh Start Text); Show Go (on Go) its own Object only Fade Out Message (on Clear Name, Combo Text, Back-To-Back Text, All Clear, Level Up Text, Fresh Start Text, Go) 5
pieceFell Piece Gravity (on Falling Piece) its own Object only Soft Drop Piece (on Falling Piece) 5
settleClear Clear Full Lines (on Glass Well); Finish The Mode (on Game Rules); Leave For The Menu (on MAIN MENU Button) its own Object only; the Object selected by Shared Variable well (Game Rules binds well to Glass Well); the Object selected by Shared Variable well (MAIN MENU Button binds well to Glass Well) Clear Full Lines (on Glass Well) 5
softDropRow Soft Drop Piece (on Falling Piece) everyone who listens Score Points (on Game Rules) 5
wellEmptied Clear Full Lines (on Glass Well) everyone who listens Score Points (on Game Rules); Show All Clear (on All Clear) 5
choiceRun Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button) its own Object only Play Again (on PLAY AGAIN Button); Start The Chosen Mode (on MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button); Quit The Game (on QUIT Button); Open How To Play (on HOW TO PLAY Button); Leave The Results (on BACK TO MENU Button); Go On Playing (on RESUME Button); Restart The Mode (on RESTART Button); Leave For The Menu (on MAIN MENU Button) 6
gameOver Check Top Out (on Game Rules); Finish The Mode (on Game Rules) everyone who listens Piece Gravity (on Falling Piece); Show Piece Crystal (on Falling Crystal, Ghost Crystal); Count Lines (on Game Rules); Show Preview Crystal (on Preview Crystal); Score Points (on Game Rules); Count Combo (on Game Rules); Count Level (on Game Rules); Keep Bests (on Game Rules); Check Top Out (on Game Rules); Open Results (on Game Rules); Count Clears (on Game Rules); Time The Game (on Game Rules); Game Music (on Game Rules); Finish The Mode (on Game Rules); Count Pieces (on Game Rules); Pause The Game (on Game Rules) 6
panelChoiceChanged Choose Panel Choice; Panel Choices (on Results Panel, Main Menu Flow, Pause Panel); Show When Panel Choice (on PLAY AGAIN Highlight, MARATHON Highlight, SPRINT 40 Highlight, ULTRA Highlight, ZEN Highlight, HOW TO PLAY Highlight, QUIT Highlight, Start Level Label, Start Level Left Key, Start Level Value, Start Level Right Key, BACK TO MENU Highlight, Menu Best Marathon, Menu Best Ultra, Menu Best Zen, RESUME Highlight, RESTART Highlight, MAIN MENU Highlight) everyone who listens; its own Object only Show When Panel Choice (on PLAY AGAIN Highlight, MARATHON Highlight, SPRINT 40 Highlight, ULTRA Highlight, ZEN Highlight, HOW TO PLAY Highlight, QUIT Highlight, Start Level Label, Start Level Left Key, Start Level Value, Start Level Right Key, BACK TO MENU Highlight, Menu Best Marathon, Menu Best Ultra, Menu Best Zen, RESUME Highlight, RESTART Highlight, MAIN MENU Highlight); Main Menu Controls (on Main Menu Flow) 6
panelClosed Pause The Game (on Game Rules) the Object selected by Shared Variable pausePanel (Game Rules binds pausePanel to Pause Panel) Panel Choices (on Results Panel, Main Menu Flow, Pause Panel) 6
panelOpened Open Results (on Game Rules); Main Menu Controls (on Main Menu Flow); Pause The Game (on Game Rules) the Object selected by Shared Variable resultsPanel (Game Rules binds resultsPanel to Results Panel); its own Object only; the Object selected by Shared Variable pausePanel (Game Rules binds pausePanel to Pause Panel) Panel Choices (on Results Panel, Main Menu Flow, Pause Panel) 6
pieceBlocked Spawn Piece (on Falling Piece) everyone who listens Check Top Out (on Game Rules) 6
resultsShown Open Results (on Game Rules) everyone who listens Show With Results (on Results Veil, Results Panel, Results Title, Result SCORE, Result SCORE Value, Result LINES, Result LINES Value, Result LEVEL, Result LEVEL Value, Result TIME, Result TIME Value, Result CASCADES, Result CASCADES Value, Result TWISTS, Result TWISTS Value, Result BEST COMBO, Result BEST COMBO Value, PLAY AGAIN Button, PLAY AGAIN Label, BACK TO MENU Button, BACK TO MENU Label); Show New Best (on New Best); Show Game Record (on Result TIME Value, Result CASCADES Value, Result TWISTS Value, Result BEST COMBO Value) 6
toppedOut Check Top Out (on Game Rules) its own Object only Check Top Out (on Game Rules) 6
howToPlayClosed Close How To Play everyone who listens Panel Choices (on Results Panel, Main Menu Flow, Pause Panel); Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button); Main Menu Controls (on Main Menu Flow); Show With Help (on Help Veil, Help Panel, Help Title, Help Keys 0-0 0, Help Keys 0-0 1, Help Action 0-0, Help Keys 0-1 0, Help Action 0-1, Help Keys 0-2 0, Help Action 0-2, Help Keys 0-3 0, Help Keys 0-3 1, Help Action 0-3, Help Keys 1-0 0, Help Keys 1-0 1, Help Action 1-0, Help Keys 1-1 0, Help Keys 1-1 1, Help Action 1-1, Help Keys 1-2 0, Help Action 1-2, Help Keys 1-3 0, Help Keys 1-3 1, Help Action 1-3, Help Back 0, Help Back 1, Help Back 2, Help Back 3); Hide With Help (on Menu Hint Up Key, Menu Hint Down Key, Menu Hint CHOOSE, Menu Hint Enter Key, Menu Hint PLAY, Menu Hint Esc Key, Menu Hint BACK) 7
howToPlayOpened Open How To Play (on HOW TO PLAY Button) everyone who listens Panel Choices (on Results Panel, Main Menu Flow, Pause Panel); Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button); Main Menu Controls (on Main Menu Flow); Show With Help (on Help Veil, Help Panel, Help Title, Help Keys 0-0 0, Help Keys 0-0 1, Help Action 0-0, Help Keys 0-1 0, Help Action 0-1, Help Keys 0-2 0, Help Action 0-2, Help Keys 0-3 0, Help Keys 0-3 1, Help Action 0-3, Help Keys 1-0 0, Help Keys 1-0 1, Help Action 1-0, Help Keys 1-1 0, Help Keys 1-1 1, Help Action 1-1, Help Keys 1-2 0, Help Action 1-2, Help Keys 1-3 0, Help Keys 1-3 1, Help Action 1-3, Help Back 0, Help Back 1, Help Back 2, Help Back 3); Hide With Help (on Menu Hint Up Key, Menu Hint Down Key, Menu Hint CHOOSE, Menu Hint Enter Key, Menu Hint PLAY, Menu Hint Esc Key, Menu Hint BACK) 7
menuChoiceChanged Main Menu Controls (on Main Menu Flow) everyone who listens Show Menu Info (on Info Title, Info Line 1, Info Line 2, Info Line 3, Menu Best Label); Show Menu Sprint Best (on Menu Best Time, Menu Best Time None) 7
freshStart Check Top Out (on Game Rules) everyone who listens Start Afresh (on Game Rules); Show Fresh Start (on Fresh Start Text) 8
gameLost Check Top Out (on Game Rules) everyone who listens Show Well Cell (on Well Cell) 8
goalReached Finish The Mode (on Game Rules) its own Object only Finish The Mode (on Game Rules) 8
modeFinished Finish The Mode (on Game Rules) everyone who listens Keep Bests (on Game Rules); Show Result Title (on Results Title) 8
piecePlaced Lock Piece (on Falling Piece) the Object selected by Shared Variable rules (Falling Piece binds rules to Game Rules) Count Pieces (on Game Rules) 8
wellReset Start Afresh (on Game Rules) everyone who listens Spawn Piece (on Falling Piece) 8
gameLeft Leave For The Menu (on MAIN MENU Button) everyone who listens Keep Bests (on Game Rules) 9
gamePaused the engine its own Object only Time The Game (on Game Rules); Pause The Game (on Game Rules); Show While Paused (on Pause Veil, Pause Panel, Pause Title, RESUME Button, RESUME Label, RESTART Button, RESTART Label, MAIN MENU Button, MAIN MENU Label, Pause Hint Enter Key, Pause Hint CONFIRM, Pause Hint Esc Key, Pause Hint RESUME) 9
gameResumed the engine its own Object only Read The Move Keys (on Falling Piece); Soft Drop Piece (on Falling Piece); Time The Game (on Game Rules); Pause The Game (on Game Rules); Show While Paused (on Pause Veil, Pause Panel, Pause Title, RESUME Button, RESUME Label, RESTART Button, RESTART Label, MAIN MENU Button, MAIN MENU Label, Pause Hint Enter Key, Pause Hint CONFIRM, Pause Hint Esc Key, Pause Hint RESUME) 9
playStarted Count Down (on Game Rules) everyone who listens Deal Pieces (on Piece Queue); Time The Game (on Game Rules); Finish The Mode (on Game Rules); Show During Countdown (on Ready, Countdown); Show Go (on Go) 9

From here on, each message has a list of its own, under the chapter that adds it. The name in quotes is the Mode that sends or hears it. An Event with only one Mode has it under its Logic Component’s name, and a Function sends “when called”.

B.3 Chapter 1: Falling Crystals

B.3.1 lockDelayStarted

  • Sent by Piece Gravity (on Falling Piece), in “Rest”, to everyone who listens.
  • Sent by Piece Gravity (on Falling Piece), in “Count The Shift”, to everyone who listens.
  • Heard by Show Piece Crystal (on Falling Crystal, Ghost Crystal): “Dim While Resting”.

B.3.2 lockPiece

  • Sent by Piece Gravity (on Falling Piece), in “Rest”, to its own Object only.
  • Sent by Piece Gravity (on Falling Piece), in “Lock If Still Resting”, to its own Object only.
  • Sent by Hard Drop Piece (on Falling Piece), in “Drop And Lock”, to its own Object only.
  • Heard by Lock Piece (on Falling Piece): “Write The Crystals”.
  • Heard by Check Twist (on Falling Piece): “Ask For The Twist Kind”.

B.3.3 moveOnce

  • Sent by Read The Move Keys (on Falling Piece), in “Start Moving Left”, to its own Object only.
  • Sent by Read The Move Keys (on Falling Piece), in “Start Moving Right”, to its own Object only.
  • Sent by Read The Move Keys (on Falling Piece), in “Move Again”, to its own Object only.
  • Heard by Move Piece (on Falling Piece): “Move One Column”.

B.3.4 pieceLanded

  • Sent by Piece Gravity (on Falling Piece), in “Falling”, to its own Object only.
  • Sent by Piece Gravity (on Falling Piece), in “Count The Shift”, to its own Object only.
  • Heard by Piece Gravity (on Falling Piece): “Rest”.

B.3.5 pieceMoved

  • Sent by Spawn Piece (on Falling Piece), in “New Piece”, to everyone who listens.
  • Sent by Piece Gravity (on Falling Piece), in “Falling”, to everyone who listens.
  • Sent by Move Piece (on Falling Piece), in “Move One Column”, to everyone who listens.
  • Sent by Rotate With Kicks, in “when called”, to everyone who listens.
  • Sent by Hard Drop Piece (on Falling Piece), in “Drop And Lock”, to everyone who listens.
  • Heard by Show Piece Crystal (on Falling Crystal, Ghost Crystal): “Follow The Piece”.

B.3.6 spawnPiece

  • Sent by Spawn Piece (on Falling Piece), in “Deal From The Queue”, to its own Object only.
  • Sent by Spawn Piece (on Falling Piece), in “Come In Again”, to its own Object only.
  • Sent by Hold Piece (on Falling Piece), in “Put It Away”, to its own Object only.
  • Heard by Spawn Piece (on Falling Piece): “New Piece”.
  • Heard by Piece Gravity (on Falling Piece): “Start Falling”.
  • Heard by Soft Drop Piece (on Falling Piece): “Keep Falling Faster”.

B.3.7 wellChanged

  • Sent by Show Well Cell (on Well Cell), in “Find My Cell”, to its own Object only.
  • Sent by Show Well Cell (on Well Cell), in “Pop If Just Filled”, to its own Object only.
  • Sent by Clear Full Lines (on Glass Well), in “Find Full Lines”, to everyone who listens.
  • Sent by Clear Full Lines (on Glass Well), in “Drop The Rows Above”, to everyone who listens.
  • Sent by Start Afresh (on Game Rules), in “Empty The Well”, to everyone who listens.
  • Heard by Show Well Cell (on Well Cell): “Show My Crystal”.

B.4 Chapter 2: Rotating and Dropping

B.4.1 fallFaster

  • Sent by Soft Drop Piece (on Falling Piece), in “Fall Faster”, to its own Object only.
  • Sent by Soft Drop Piece (on Falling Piece), in “Keep Falling Faster”, to its own Object only.
  • Heard by Soft Drop Piece (on Falling Piece): “Restart Gravity Faster”.

B.4.2 fallNormally

  • Sent by Soft Drop Piece (on Falling Piece), in “Fall Normally”, to its own Object only.
  • Sent by Soft Drop Piece (on Falling Piece), in “Forget The Held Key”, to its own Object only.
  • Heard by Soft Drop Piece (on Falling Piece): “Restart Gravity Normally”.

B.4.3 hardDropped

  • Sent by Hard Drop Piece (on Falling Piece), in “Drop And Lock”, to everyone who listens.
  • Heard by Show Drop Streaks (on Falling Piece): “Draw The Streaks”.
  • Heard by Score Points (on Game Rules): “Score The Hard Drop”.

B.4.4 pieceShifted

  • Sent by Move Piece (on Falling Piece), in “Move One Column”, to its own Object only.
  • Sent by Rotate With Kicks, in “when called”, to the selected Object ({“kind”:“logicInput”,“input”:“piece”}).
  • Heard by Piece Gravity (on Falling Piece): “Count The Shift”.

B.5 Chapter 3: Clearing Lines

B.5.1 crystalsLocked

  • Sent by Lock Piece (on Falling Piece), in “Write The Crystals”, to everyone who listens.
  • Heard by Show Well Cell (on Well Cell): “Pop If Just Filled”.

B.5.2 linesCleared

  • Sent by Clear Full Lines (on Glass Well), in “Find Full Lines”, to everyone who listens.
  • Heard by Count Lines (on Game Rules): “Add To The Count”.
  • Heard by Count Level (on Game Rules): “Level Up If Due”.
  • Heard by Show Lines Left (on LINES LEFT Value): “Count Down”.
  • Heard by Finish The Mode (on Game Rules): “Finish At The Goal”.

B.5.3 pieceLocked

  • Sent by Lock Piece (on Falling Piece), in “Write The Crystals”, to everyone who listens.
  • Heard by Clear Full Lines (on Glass Well): “Find Full Lines”.

B.6 Chapter 4: The Queue and Hold

B.6.1 holdChanged

  • Sent by Lock Piece (on Falling Piece), in “Write The Crystals”, to everyone who listens.
  • Sent by Hold Piece (on Falling Piece), in “Put It Away”, to everyone who listens.
  • Heard by Show Preview Crystal (on Preview Crystal): “Show It Again”.

B.6.2 nextPieceDue

  • Sent by Clear Full Lines (on Glass Well), in “Ask For The Next Piece”, to everyone who listens.
  • Sent by Deal Pieces (on Piece Queue), in “Deal The First Piece”, to everyone who listens.
  • Sent by Hold Piece (on Falling Piece), in “Put It Away”, to its own Object only.
  • Heard by Spawn Piece (on Falling Piece): “Deal From The Queue”.

B.6.3 pieceDealt

  • Sent by Spawn Piece (on Falling Piece), in “Deal From The Queue”, to everyone who listens.
  • Heard by Deal Pieces (on Piece Queue): “Take The First Piece Off”.

B.6.4 queueChanged

  • Sent by Deal Pieces (on Piece Queue), in “Take The First Piece Off”, to everyone who listens.
  • Sent by Show Preview Crystal (on Preview Crystal), in “Take My Size”, to its own Object only.
  • Sent by Show Preview Crystal (on Preview Crystal), in “Show It Again”, to its own Object only.
  • Heard by Show Preview Crystal (on Preview Crystal): “Show The Piece”.

B.7 Chapter 5: Scoring and Levels

B.7.1 clearScored

  • Sent by Score Points (on Game Rules), in “Score The Clear”, to everyone who listens.
  • Heard by Show Clear Name (on Clear Name): “Announce It”.
  • Heard by Count Combo (on Game Rules): “Count The Combo”.
  • Heard by Show Back-To-Back (on Back-To-Back Text): “Announce It”.
  • Heard by Count Clears (on Game Rules): “Count It”.

B.7.2 comboScored

  • Sent by Count Combo (on Game Rules), in “Count The Combo”, to everyone who listens.
  • Heard by Show Combo (on Combo Text): “Announce It”.

B.7.3 levelUp

  • Sent by Count Level (on Game Rules), in “Level Up If Due”, to everyone who listens.
  • Heard by Show Level Up (on Level Up Text): “Celebrate”.

B.7.4 lockChecked

  • Sent by Clear Full Lines (on Glass Well), in “Find Full Lines”, to everyone who listens.
  • Heard by Score Points (on Game Rules): “Score The Clear”.
  • Heard by Check Top Out (on Game Rules): “Lock Out If Above”.

B.7.5 messageShown

  • Sent by Show Clear Name (on Clear Name), in “Announce It”, to its own Object only.
  • Sent by Show Combo (on Combo Text), in “Announce It”, to its own Object only.
  • Sent by Show Back-To-Back (on Back-To-Back Text), in “Announce It”, to its own Object only.
  • Sent by Show All Clear (on All Clear), in “Celebrate”, to its own Object only.
  • Sent by Show Level Up (on Level Up Text), in “Celebrate”, to its own Object only.
  • Sent by Show Fresh Start (on Fresh Start Text), in “Show It”, to its own Object only.
  • Sent by Show Go (on Go), in “Show It”, to its own Object only.
  • Heard by Fade Out Message (on Clear Name, Combo Text, Back-To-Back Text, All Clear, Level Up Text, Fresh Start Text, Go): “Show, Then Fade”.

B.7.6 pieceFell

  • Sent by Piece Gravity (on Falling Piece), in “Falling”, to its own Object only.
  • Heard by Soft Drop Piece (on Falling Piece): “Score The Row”.

B.7.7 settleClear

  • Sent by Clear Full Lines (on Glass Well), in “Drop The Rows Above”, to its own Object only.
  • Sent by Finish The Mode (on Game Rules), in “Finish”, to the Object selected by Shared Variable well (Game Rules binds well to Glass Well).
  • Sent by Leave For The Menu (on MAIN MENU Button), in “Leave”, to the Object selected by Shared Variable well (MAIN MENU Button binds well to Glass Well).
  • Heard by Clear Full Lines (on Glass Well): “Settle The All Clear”.

B.7.8 softDropRow

  • Sent by Soft Drop Piece (on Falling Piece), in “Score The Row”, to everyone who listens.
  • Heard by Score Points (on Game Rules): “Score A Soft Drop Row”.

B.7.9 wellEmptied

  • Sent by Clear Full Lines (on Glass Well), in “Settle The All Clear”, to everyone who listens.
  • Heard by Score Points (on Game Rules): “Score The All Clear”.
  • Heard by Show All Clear (on All Clear): “Celebrate”.

B.8 Chapter 6: Game Over and Results

B.8.1 choiceRun

  • Sent by Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button), in “Run If Chosen”, to its own Object only.
  • Sent by Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button), in “Run This One”, to its own Object only.
  • Heard by Play Again (on PLAY AGAIN Button): “Start A New Game”.
  • Heard by Start The Chosen Mode (on MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button): “Play The Mode”.
  • Heard by Quit The Game (on QUIT Button): “End The Game”.
  • Heard by Open How To Play (on HOW TO PLAY Button): “Open The Panel”.
  • Heard by Leave The Results (on BACK TO MENU Button): “Back To The Menu”.
  • Heard by Go On Playing (on RESUME Button): “Resume”.
  • Heard by Restart The Mode (on RESTART Button): “Restart”.
  • Heard by Leave For The Menu (on MAIN MENU Button): “Leave”.

B.8.2 gameOver

  • Sent by Check Top Out (on Game Rules), in “End The Game”, to everyone who listens.
  • Sent by Finish The Mode (on Game Rules), in “Finish”, to everyone who listens.
  • Heard by Piece Gravity (on Falling Piece): “Stop Falling”.
  • Heard by Show Piece Crystal (on Falling Crystal, Ghost Crystal): “Leave The Well”.
  • Heard by Count Lines (on Game Rules): “Stop Counting”.
  • Heard by Show Preview Crystal (on Preview Crystal): “Empty The Panel”.
  • Heard by Score Points (on Game Rules): “Stop Counting”.
  • Heard by Count Combo (on Game Rules): “Stop Counting”.
  • Heard by Count Level (on Game Rules): “Stop Counting”.
  • Heard by Keep Bests (on Game Rules): “Keep A Marathon Best”.
  • Heard by Keep Bests (on Game Rules): “Keep An Ultra Best”.
  • Heard by Check Top Out (on Game Rules): “Stop Checking”.
  • Heard by Open Results (on Game Rules): “Wait A Moment”.
  • Heard by Count Clears (on Game Rules): “Stop Counting”.
  • Heard by Time The Game (on Game Rules): “Note The Time Played”.
  • Heard by Game Music (on Game Rules): “Stop The Music”.
  • Heard by Finish The Mode (on Game Rules): “Stop Checking”.
  • Heard by Count Pieces (on Game Rules): “Stop Counting”.
  • Heard by Pause The Game (on Game Rules): “No Pausing After The End”.

B.8.3 panelChoiceChanged

  • Sent by Choose Panel Choice, in “when called”, to everyone who listens.
  • Sent by Panel Choices (on Results Panel, Main Menu Flow, Pause Panel), in “Close”, to everyone who listens.
  • Sent by Show When Panel Choice (on PLAY AGAIN Highlight, MARATHON Highlight, SPRINT 40 Highlight, ULTRA Highlight, ZEN Highlight, HOW TO PLAY Highlight, QUIT Highlight, Start Level Label, Start Level Left Key, Start Level Value, Start Level Right Key, BACK TO MENU Highlight, Menu Best Marathon, Menu Best Ultra, Menu Best Zen, RESUME Highlight, RESTART Highlight, MAIN MENU Highlight), in “Ask At Once”, to its own Object only.
  • Heard by Show When Panel Choice (on PLAY AGAIN Highlight, MARATHON Highlight, SPRINT 40 Highlight, ULTRA Highlight, ZEN Highlight, HOW TO PLAY Highlight, QUIT Highlight, Start Level Label, Start Level Left Key, Start Level Value, Start Level Right Key, BACK TO MENU Highlight, Menu Best Marathon, Menu Best Ultra, Menu Best Zen, RESUME Highlight, RESTART Highlight, MAIN MENU Highlight): “Show If Chosen”.
  • Heard by Main Menu Controls (on Main Menu Flow): “Remember The Choice”.

B.8.4 panelClosed

  • Sent by Pause The Game (on Game Rules), in “Panel Keys Off”, to the Object selected by Shared Variable pausePanel (Game Rules binds pausePanel to Pause Panel).
  • Heard by Panel Choices (on Results Panel, Main Menu Flow, Pause Panel): “Close”.

B.8.5 panelOpened

  • Sent by Open Results (on Game Rules), in “Open The Panel”, to the Object selected by Shared Variable resultsPanel (Game Rules binds resultsPanel to Results Panel).
  • Sent by Main Menu Controls (on Main Menu Flow), in “Open On The Last Choice”, to its own Object only.
  • Sent by Pause The Game (on Game Rules), in “Panel Keys On”, to the Object selected by Shared Variable pausePanel (Game Rules binds pausePanel to Pause Panel).
  • Heard by Panel Choices (on Results Panel, Main Menu Flow, Pause Panel): “Open On The Chosen Choice”.

B.8.6 pieceBlocked

  • Sent by Spawn Piece (on Falling Piece), in “New Piece”, to everyone who listens.
  • Heard by Check Top Out (on Game Rules): “Top Out”.

B.8.7 resultsShown

  • Sent by Open Results (on Game Rules), in “Open The Panel”, to everyone who listens.
  • Heard by Show With Results (on Results Veil, Results Panel, Results Title, Result SCORE, Result SCORE Value, Result LINES, Result LINES Value, Result LEVEL, Result LEVEL Value, Result TIME, Result TIME Value, Result CASCADES, Result CASCADES Value, Result TWISTS, Result TWISTS Value, Result BEST COMBO, Result BEST COMBO Value, PLAY AGAIN Button, PLAY AGAIN Label, BACK TO MENU Button, BACK TO MENU Label): “Show”.
  • Heard by Show New Best (on New Best): “Show If Beaten”.
  • Heard by Show Game Record (on Result TIME Value, Result CASCADES Value, Result TWISTS Value, Result BEST COMBO Value): “Copy The Record”.

B.8.8 toppedOut

  • Sent by Check Top Out (on Game Rules), in “Top Out”, to its own Object only.
  • Sent by Check Top Out (on Game Rules), in “Lock Out If Above”, to its own Object only.
  • Heard by Check Top Out (on Game Rules): “End The Game”.
  • Heard by Check Top Out (on Game Rules): “Start Afresh”.

B.9 Chapter 7: Title and Main Menu

B.9.1 howToPlayClosed

  • Sent by Close How To Play, in “when called”, to everyone who listens.
  • Heard by Panel Choices (on Results Panel, Main Menu Flow, Pause Panel): “Back To The Menu”.
  • Heard by Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button): “Back To The Menu”.
  • Heard by Main Menu Controls (on Main Menu Flow): “Back To The Menu”.
  • Heard by Show With Help (on Help Veil, Help Panel, Help Title, Help Keys 0-0 0, Help Keys 0-0 1, Help Action 0-0, Help Keys 0-1 0, Help Action 0-1, Help Keys 0-2 0, Help Action 0-2, Help Keys 0-3 0, Help Keys 0-3 1, Help Action 0-3, Help Keys 1-0 0, Help Keys 1-0 1, Help Action 1-0, Help Keys 1-1 0, Help Keys 1-1 1, Help Action 1-1, Help Keys 1-2 0, Help Action 1-2, Help Keys 1-3 0, Help Keys 1-3 1, Help Action 1-3, Help Back 0, Help Back 1, Help Back 2, Help Back 3): “Hide”.
  • Heard by Hide With Help (on Menu Hint Up Key, Menu Hint Down Key, Menu Hint CHOOSE, Menu Hint Enter Key, Menu Hint PLAY, Menu Hint Esc Key, Menu Hint BACK): “Show”.

B.9.2 howToPlayOpened

  • Sent by Open How To Play (on HOW TO PLAY Button), in “Open The Panel”, to everyone who listens.
  • Heard by Panel Choices (on Results Panel, Main Menu Flow, Pause Panel): “Leave The Menu Alone”.
  • Heard by Panel Choice (on PLAY AGAIN Button, MARATHON Button, SPRINT 40 Button, ULTRA Button, ZEN Button, HOW TO PLAY Button, QUIT Button, BACK TO MENU Button, RESUME Button, RESTART Button, MAIN MENU Button): “Leave The Menu Alone”.
  • Heard by Main Menu Controls (on Main Menu Flow): “Leave The Menu Alone”.
  • Heard by Show With Help (on Help Veil, Help Panel, Help Title, Help Keys 0-0 0, Help Keys 0-0 1, Help Action 0-0, Help Keys 0-1 0, Help Action 0-1, Help Keys 0-2 0, Help Action 0-2, Help Keys 0-3 0, Help Keys 0-3 1, Help Action 0-3, Help Keys 1-0 0, Help Keys 1-0 1, Help Action 1-0, Help Keys 1-1 0, Help Keys 1-1 1, Help Action 1-1, Help Keys 1-2 0, Help Action 1-2, Help Keys 1-3 0, Help Keys 1-3 1, Help Action 1-3, Help Back 0, Help Back 1, Help Back 2, Help Back 3): “Show”.
  • Heard by Hide With Help (on Menu Hint Up Key, Menu Hint Down Key, Menu Hint CHOOSE, Menu Hint Enter Key, Menu Hint PLAY, Menu Hint Esc Key, Menu Hint BACK): “Hide”.

B.10 Chapter 8: Four Ways to Play

B.10.1 freshStart

  • Sent by Check Top Out (on Game Rules), in “Start Afresh”, to everyone who listens.
  • Heard by Start Afresh (on Game Rules): “Empty The Well”.
  • Heard by Show Fresh Start (on Fresh Start Text): “Show It”.

B.10.2 gameLost

  • Sent by Check Top Out (on Game Rules), in “End The Game”, to everyone who listens.
  • Heard by Show Well Cell (on Well Cell): “Wait For The Wave”.

B.10.3 goalReached

  • Sent by Finish The Mode (on Game Rules), in “Finish At The Goal”, to its own Object only.
  • Sent by Finish The Mode (on Game Rules), in “Finish At The Limit”, to its own Object only.
  • Heard by Finish The Mode (on Game Rules): “Finish”.

B.10.4 modeFinished

  • Sent by Finish The Mode (on Game Rules), in “Finish”, to everyone who listens.
  • Heard by Keep Bests (on Game Rules): “Keep A Sprint Best”.
  • Heard by Show Result Title (on Results Title): “Name The Finish”.

B.10.5 piecePlaced

  • Sent by Lock Piece (on Falling Piece), in “Write The Crystals”, to the Object selected by Shared Variable rules (Falling Piece binds rules to Game Rules).
  • Heard by Count Pieces (on Game Rules): “Count It”.

B.10.6 wellReset

  • Sent by Start Afresh (on Game Rules), in “Empty The Well”, to everyone who listens.
  • Heard by Spawn Piece (on Falling Piece): “Come In Again”.

B.11 Chapter 9: Countdown and Pause

B.11.1 gameLeft

  • Sent by Leave For The Menu (on MAIN MENU Button), in “Leave”, to everyone who listens.
  • Heard by Keep Bests (on Game Rules): “Keep A Zen Best”.

B.11.2 gamePaused

  • Sent by the engine: No More Health runs when the Object’s health field reaches 0.
  • Heard by Time The Game (on Game Rules): “Clock Not Running”.
  • Heard by Time The Game (on Game Rules): “Stop The Clock”.
  • Heard by Pause The Game (on Game Rules): “Panel Keys On”.
  • Heard by Show While Paused (on Pause Veil, Pause Panel, Pause Title, RESUME Button, RESUME Label, RESTART Button, RESTART Label, MAIN MENU Button, MAIN MENU Label, Pause Hint Enter Key, Pause Hint CONFIRM, Pause Hint Esc Key, Pause Hint RESUME): “Show”.

B.11.3 gameResumed

  • Sent by the engine: No More Health runs when the Object’s health field reaches 0.
  • Heard by Read The Move Keys (on Falling Piece): “Forget The Held Keys”.
  • Heard by Soft Drop Piece (on Falling Piece): “Forget The Held Key”.
  • Heard by Time The Game (on Game Rules): “Clock Not Running”.
  • Heard by Time The Game (on Game Rules): “Start The Clock Again”.
  • Heard by Pause The Game (on Game Rules): “Panel Keys Off”.
  • Heard by Show While Paused (on Pause Veil, Pause Panel, Pause Title, RESUME Button, RESUME Label, RESTART Button, RESTART Label, MAIN MENU Button, MAIN MENU Label, Pause Hint Enter Key, Pause Hint CONFIRM, Pause Hint Esc Key, Pause Hint RESUME): “Hide”.

B.11.4 playStarted

  • Sent by Count Down (on Game Rules), in “Count One Down”, to everyone who listens.
  • Heard by Deal Pieces (on Piece Queue): “Deal The First Piece”.
  • Heard by Time The Game (on Game Rules): “Start The Clock”.
  • Heard by Finish The Mode (on Game Rules): “Start The Time Limit”.
  • Heard by Show During Countdown (on Ready, Countdown): “Hide It”.
  • Heard by Show Go (on Go): “Show It”.

B.12 Game State Changes (Sent by the Engine)

Set Game State makes the engine send Game State Changed to everyone who listens.

  • Check Top Out sets Playing in “Back To Playing”.
  • Check Top Out sets Game Over in “End The Game”.
  • Finish The Mode sets Game Over in “Finish”.
  • Heard by: nothing in this game listens for Game State Changed; Logic asks with Check Game State instead.