Prev: FAA8 Up: Map Next: FB71
FB16: Action: Shout
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