Prev: 64168 Up: Map Next: 64369
64278: Action: Shout
Action_Shout 64278 CALL Parser_CountItems Call Parser_CountItems.
Print "Please rephrase that.".
64281 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?
64284 LD HL,60103 Call MatchPhraseTokens with PhraseTokens_Shout.
64287 CALL MatchPhraseTokens
64290 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?
64292 LD A,57 Call ValidateItemPresent with "A boulder on the brink of a ledge".
64294 CALL ValidateItemPresent
64297 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?
64300 LD A,41 Call ValidateItemPresent with "A giant crab".
64302 CALL ValidateItemPresent
64305 JR Z,Shout_Crab Jump to Shout_Crab if the crab is in the current room.
Bad luck!
64307 LD HL,60887 Switch GameOver onto the stack so the next return actions a "game over".
64310 EX (SP),HL
Print "The whole canyon vibrates. The boulder is dislodged...".
64311 LD HL,58163 HL=58163.
64314 CALL PrintStringAndNewline Call PrintStringAndNewline.
Print "It falls and crushes you.".
64317 LD HL,58218 HL=58218.
64320 JP PausePrintStringAndScroll_Alias Jump to PausePrintStringAndScroll_Alias.
Both the boulder and the crab are in the room.
Shout_Crab 64323 LD HL,48239 Reset bit 0 of *Flag_EventState which relates to the crab being active.
64326 RES 0,(HL)
Make the crab inactive.
64328 LD A,41 Call Handler_DestroyItemEvent with item 41: "A giant crab".
64330 CALL Handler_DestroyItemEvent
Change the boulder state!
64333 LD BC,14650 Call TransformItem to transform item 57 ("A boulder on the brink of a ledge") into item 58 ("A boulder").
64336 CALL TransformItem
Now the crab is gone, this opens up various routes.
64339 LD A,47 Write 47 to *60455 to open up westbound access to The Secluded Beach from The Canyon.
64341 LD (60455),A
64344 LD A,48 Write 48 to *60458 to open up northbound access to The Rockpool from The Secluded Beach.
64346 LD (60458),A
64349 LD A,49 Write 49 to *60464 to open up northbound access to Wreckers' Cove from The Rockpool.
64351 LD (60464),A
Print "The whole canyon vibrates. The boulder is dislodged...".
64354 LD HL,58163 HL=58163.
64357 CALL PrintStringAndNewline Call PrintStringAndNewline.
Print "It falls and crushes the crab.".
64360 LD HL,58244 HL=58244.
64363 JP PausePrintStringAndScroll_Alias Jump to PausePrintStringAndScroll_Alias.
Nothing else is valid.
Shout_Invalid 64366 JP Response_PleaseRephraseThat_Duplicate Jump to Response_PleaseRephraseThat_Duplicate.
Prev: 64168 Up: Map Next: 64369