![]()  | 
Routines | 
| Prev: FAA8 | Up: Map | Next: FB71 | 
| 
 | 
||||
| Action_Shout | FB16 | CALL Parser_CountItems | Call Parser_CountItems. | |
| 
 
Print "Please rephrase that.".
 
 | 
||||
| FB19 | JP NZ,Response_PleaseRephraseThat_Duplicate | Jump to Response_PleaseRephraseThat_Duplicate if any item(s) were referenced in the input. | ||
| 
 
Was the player trying to shout/ shout loud?
 
 | 
||||
| FB1C | LD HL,$EAC7 | Call MatchPhraseTokens with PhraseTokens_Shout. | ||
| FB1F | CALL MatchPhraseTokens | |||
| FB22 | JR NZ,Shout_Invalid | Jump to Shout_Invalid if the token isn't for shouting. | ||
| 
 
The player was trying to shout, but are they in the room with the boulder?
 
 | 
||||
| FB24 | LD A,$39 | Call ValidateItemPresent with "A boulder on the brink of a ledge". | ||
| FB26 | CALL ValidateItemPresent | |||
| FB29 | JP NZ,Response_OK_Duplicate | Jump to Response_OK_Duplicate if "A boulder on the brink of a ledge" isn't in the current room. | ||
| 
 
The player is in the room with the boulder, but is the crab also here?
 
 | 
||||
| FB2C | LD A,$29 | Call ValidateItemPresent with "A giant crab". | ||
| FB2E | CALL ValidateItemPresent | |||
| FB31 | JR Z,Shout_Crab | Jump to Shout_Crab if the crab is in the current room. | ||
| 
 
Bad luck!
 
 | 
||||
| FB33 | LD HL,$EDD7 | Switch GameOver onto the stack so the next return actions a "game over". | ||
| FB36 | EX (SP),HL | |||
| 
 
Print "The whole canyon vibrates.
The boulder is dislodged...".
 
 | 
||||
| FB37 | LD HL,$E333 | HL=E333. | ||
| FB3A | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 
 
Print "It falls and crushes you.".
 
 | 
||||
| FB3D | LD HL,$E36A | HL=E36A. | ||
| FB40 | JP PausePrintStringAndScroll_Alias | Jump to PausePrintStringAndScroll_Alias. | ||
| 
 
Both the boulder and the crab are in the room.
 
 | 
||||
| Shout_Crab | FB43 | LD HL,$BC6F | Reset bit 0 of *Flag_EventState which relates to the crab being active. | |
| FB46 | RES 0,(HL) | |||
| 
 
Make the crab inactive.
 
 | 
||||
| FB48 | LD A,$29 | Call Handler_DestroyItemEvent with item 29: "A giant crab". | ||
| FB4A | CALL Handler_DestroyItemEvent | |||
| 
 
Change the boulder state!
 
 | 
||||
| FB4D | LD BC,$393A | Call TransformItem to transform item 39 ("A boulder on the brink of a ledge") into item 3A ("A boulder"). | ||
| FB50 | CALL TransformItem | |||
| 
 
Now the crab is gone, this opens up various routes.
 
 | 
||||
| FB53 | LD A,$2F | Write 2F to *EC27 to open up westbound access to The Secluded Beach from The Canyon. | ||
| FB55 | LD ($EC27),A | |||
| FB58 | LD A,$30 | Write 30 to *EC2A to open up northbound access to The Rockpool from The Secluded Beach. | ||
| FB5A | LD ($EC2A),A | |||
| FB5D | LD A,$31 | Write 31 to *EC30 to open up northbound access to Wreckers' Cove from The Rockpool. | ||
| FB5F | LD ($EC30),A | |||
| 
 
Print "The whole canyon vibrates.
The boulder is dislodged...".
 
 | 
||||
| FB62 | LD HL,$E333 | HL=E333. | ||
| FB65 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 
 
Print "It falls and crushes the crab.".
 
 | 
||||
| FB68 | LD HL,$E384 | HL=E384. | ||
| FB6B | JP PausePrintStringAndScroll_Alias | Jump to PausePrintStringAndScroll_Alias. | ||
| 
 
Nothing else is valid.
 
 | 
||||
| Shout_Invalid | FB6E | JP Response_PleaseRephraseThat_Duplicate | Jump to Response_PleaseRephraseThat_Duplicate. | |
| Prev: FAA8 | Up: Map | Next: FB71 |