![]() |
Routines |
Prev: F7AB | Up: Map | Next: F851 |
|
||||
Action_??? | F7D6 | CALL $C49F | Call C49F. | |
F7D9 | RET C | Return if the direct object is malformed. | ||
F7DA | LD HL,$EA26 | Call MatchPhraseTokens with PhraseTokens_PlankAcrossPit. | ||
F7DD | CALL MatchPhraseTokens | |||
F7E0 | JR NZ,Action_???_0 | Jump to Action_???_0 if the token isn't for the . | ||
F7E2 | LD A,$04 | Call ValidateItemPresent with "A plank". | ||
F7E4 | CALL ValidateItemPresent | |||
F7E7 | JP NZ,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if "A plank" isn't in the current room. | ||
F7EA | LD A,$04 | A=04. | ||
F7EC | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F7EF | LD A,$04 | A=04 (event ID: 04). | ||
F7F1 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F7F4 | LD BC,$0566 | Call Handler_UpdateObjectLocation using item "A plank (spanning the pit)" to create it in The Wide Pit. | ||
F7F7 | CALL Handler_UpdateObjectLocation | |||
F7FA | LD BC,$0668 | Call Handler_UpdateObjectLocation using item "A plank (spanning the pit)" to create it in The Southern Side of the Pit. | ||
F7FD | CALL Handler_UpdateObjectLocation | |||
F800 | LD A,$68 | Write 68 to *ED75. | ||
F802 | LD ($ED75),A | |||
F805 | LD A,$66 | Write 66 to *ED80. | ||
F807 | LD ($ED80),A | |||
F80A | CALL Response_OK_Duplicate | Call Response_OK_Duplicate. | ||
Print "The plank now spans the pit.".
|
||||
F80D | LD HL,$E00C | HL=Messaging_PlankAcrossPit. | ||
F810 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_???_0 | F813 | LD HL,$EA70 | Call MatchPhraseTokens with PhraseTokens_RodInHole. | |
F816 | CALL MatchPhraseTokens | |||
F819 | JR NZ,Action_???_2 | Jump to Action_???_2 if the token isn't for the . | ||
This entry point is used by the routine at Action_Insert.
|
||||
Action_???_1 | F81B | LD A,$08 | Call ValidateItemPresent with "A rod". | |
F81D | CALL ValidateItemPresent | |||
F820 | JP NZ,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if "A rod" isn't in the current room. | ||
F823 | LD A,$08 | Call Action_DropThrow_1 with "A rod". | ||
F825 | CALL Action_DropThrow_1 | |||
F828 | LD A,$08 | Call Handler_DestroyItemEvent with "A rod". | ||
F82A | CALL Handler_DestroyItemEvent | |||
F82D | LD BC,$090A | Call TransformItem to transform item 09 ("A small round hole to the side of the door") into item 0A ("A hole with a rod inserted to the side of the door"). | ||
F830 | CALL TransformItem | |||
F833 | LD BC,$3231 | Call TransformItem to transform item 32 ("The door is closed") into item 31 ("The door is open"). | ||
F836 | CALL TransformItem | |||
F839 | LD A,$33 | Call Handler_DestroyItemEvent with "A slab of rock". | ||
F83B | CALL Handler_DestroyItemEvent | |||
F83E | LD A,$6A | Write 6A to *EB90 to open up eastbound access to The Mighty Rock Door from The Narrow Path. | ||
F840 | LD ($EB90),A | |||
F843 | LD A,$15 | Write 15 to *ED8D to open up southbound access to The Narrow Path from The Mighty Rock Door. | ||
F845 | LD ($ED8D),A | |||
Print "There is a faint click and
the rock door slowly rumbles
open.".
|
||||
F848 | LD HL,$E029 | HL=Messaging_OpenRockDoor. | ||
F84B | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_???_2 | F84E | JP Response_YouCant_Duplicate | Jump to Response_YouCant_Duplicate. |
Prev: F7AB | Up: Map | Next: F851 |