![]() |
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 |