![]() |
Routines |
| Prev: 61509 | Up: Map | Next: 61974 |
|
Climb the rope, the volcano or down into the boat.
|
||||
| Action_Climb | 61840 | CALL Parser_ValidateDirectObject | Return if the words after the verb are not valid for this command. | |
| 61843 | RET C | |||
| 61844 | LD HL,59453 | Jump to Action_Climb_Next unless the player named the rope. | ||
| 61847 | CALL Parser_AdvanceToSeparator | |||
| 61850 | JR NZ,Action_Climb_Next | |||
| 61852 | LD A,(47771) | Jump to Response_YouCant_GameLoop unless the player is in room 71 (The Top of the Volcano). | ||
| 61855 | CP 71 | |||
| 61857 | JP NZ,Response_YouCant_GameLoop | |||
| 61860 | LD A,35 | Jump to Response_YouCant_GameLoop if object 35 (the rope on the overhang) is not here. | ||
| 61862 | CALL IsObjectInCurrentRoom | |||
| 61865 | JP NZ,Response_YouCant_GameLoop | |||
| 61868 | LD A,72 | Try to enter room 72 (Inside the Volcano). | ||
| 61870 | CALL Handler_InjuryCheck | |||
| 61873 | RET | Return. | ||
| Action_Climb_Next | 61874 | LD HL,59456 | Jump to Action_Climb_WearRing unless the player named the ring. | |
| 61877 | CALL Parser_AdvanceToSeparator | |||
| 61880 | JR NZ,Action_Climb_WearRing | |||
| 61882 | LD A,(47771) | Jump to Response_YouCant_GameLoop unless the player is in room 72 (Inside the Volcano). | ||
| 61885 | CP 72 | |||
| 61887 | JP NZ,Response_YouCant_GameLoop | |||
| 61890 | LD A,71 | Try to enter room 71 (The Top of the Volcano). | ||
| 61892 | CALL Handler_InjuryCheck | |||
| 61895 | RET | Return. | ||
| Action_Climb_WearRing | 61896 | LD HL,59477 | Jump to Action_Climb_IntoBoat unless the player named the ring. | |
| 61899 | CALL Parser_AdvanceToSeparator | |||
| 61902 | JR NZ,Action_Climb_IntoBoat | |||
| 61904 | LD HL,60195 | Print "You start to climb. The precipice is too steep. You lose your grip and fall." and end the game. | ||
| 61907 | EX (SP),HL | |||
| 61908 | LD HL,56806 | |||
| 61911 | JP PrintResponse | |||
| Action_Climb_IntoBoat | 61914 | LD HL,59483 | Jump to Action_Climb_OutOfBoat unless the player named getting into the boat. | |
| 61917 | CALL Parser_AdvanceToSeparator | |||
| 61920 | JR NZ,Action_Climb_OutOfBoat | |||
| 61922 | LD A,29 | Jump to Action_Climb_EnterBoat when object 29 (the boat) is here. | ||
| 61924 | CALL IsObjectInCurrentRoom | |||
| 61927 | JR Z,Action_Climb_EnterBoat | |||
|
Reply with "You are in the boat already.".
|
||||
| 61929 | LD HL,56474 | Print "You are in the boat already." and return to the game loop. | ||
| 61932 | JP PrintResponse | |||
| Action_Climb_EnterBoat | 61935 | LD A,29 | Try to enter room 29 (In the Boat). | |
| 61937 | CALL Handler_InjuryCheck | |||
| 61940 | RET | Return. | ||
| Action_Climb_OutOfBoat | 61941 | LD HL,59499 | Jump to Action_Climb_YouCant unless the player named getting out of the boat. | |
| 61944 | CALL Parser_AdvanceToSeparator | |||
| 61947 | JR NZ,Action_Climb_YouCant | |||
| 61949 | LD A,(47771) | Jump to Action_Climb_LeaveBoat when the player is in room 29 (In the Boat). | ||
| 61952 | CP 29 | |||
| 61954 | JR Z,Action_Climb_LeaveBoat | |||
|
Reply with "You're not in the boat.".
|
||||
| 61956 | LD HL,56883 | Print "You're not in the boat." and return to the game loop. | ||
| 61959 | JP PrintResponse | |||
| Action_Climb_LeaveBoat | 61962 | LD A,29 | Call GetObjectLocation to fetch where the boat is. | |
| 61964 | CALL GetObjectLocation | |||
| 61967 | CALL Handler_InjuryCheck | Call Handler_InjuryCheck to enter where the boat is, unless the player is too badly hurt. | ||
| 61970 | RET | Return. | ||
| Action_Climb_YouCant | 61971 | JP Response_YouCant_GameLoop | Tell the player the command is impossible. | |
| Prev: 61509 | Up: Map | Next: 61974 |