![]() |
Routines |
| Prev: 61498 | Up: Map | Next: 61974 |
|
Climb the rope, the volcano or down into the boat.
|
||||
| Action_Climb | 61840 | CALL Parser_ValidateDirectObject | Call Parser_ValidateDirectObject. | |
| 61843 | RET C | Return if the direct object is malformed. | ||
|
Was the player trying to climb ... the rope?
|
||||
| 61844 | LD HL,59453 | Call Parser_AdvanceToSeparator with 59453. | ||
| 61847 | CALL Parser_AdvanceToSeparator | |||
| 61850 | JR NZ,Climb_CheckOutOfVolcano | Jump to Climb_CheckOutOfVolcano if the token isn't for the rope. | ||
|
The player is attempting to climb the rope into the volcano.
|
||||
| 61852 | LD A,(47771) | Jump to Response_YouCant_GameLoop if *CurrentRoom isn't 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 "A projection of rock with a rope tied to it. The rope dangles down into the volc" isn't in the current room. | ||
| 61862 | CALL ValidateItemPresent | |||
| 61865 | JP NZ,Response_YouCant_GameLoop | |||
| 61868 | LD A,72 | Call Handler_InjuryCheck with room 72: " Inside the Volcano". | ||
| 61870 | CALL Handler_InjuryCheck | |||
| 61873 | RET | Return. | ||
|
Was the player trying to climb ... out of the volcano?
|
||||
| Climb_CheckOutOfVolcano | 61874 | LD HL,59456 | Call Parser_AdvanceToSeparator with 59456. | |
| 61877 | CALL Parser_AdvanceToSeparator | |||
| 61880 | JR NZ,Climb_CheckVolcanoWall | Jump to Climb_CheckVolcanoWall if the token isn't for climbing out. | ||
|
The player is attempting to climb out of the volcano.
|
||||
| 61882 | LD A,(47771) | Jump to Response_YouCant_GameLoop if *CurrentRoom isn't room 72: " Inside the Volcano". | ||
| 61885 | CP 72 | |||
| 61887 | JP NZ,Response_YouCant_GameLoop | |||
| 61890 | LD A,71 | Call Handler_InjuryCheck with room 71: " The Top of the Volcano". | ||
| 61892 | CALL Handler_InjuryCheck | |||
| 61895 | RET | Return. | ||
|
Was the player trying to climb ... the volcano wall?
|
||||
| Climb_CheckVolcanoWall | 61896 | LD HL,59477 | Call Parser_AdvanceToSeparator with 59477. | |
| 61899 | CALL Parser_AdvanceToSeparator | |||
| 61902 | JR NZ,Climb_CheckIntoBoat | Jump to Climb_CheckIntoBoat if the token isn't for the volcano wall. | ||
|
The climb fails and ends the game.
|
||||
| 61904 | LD HL,60195 | Switch GameOver onto the stack. | ||
| 61907 | EX (SP),HL | |||
|
Print "You start to climb.
The precipice is too steep.
You lose your grip and fall.".
|
||||
| 61908 | LD HL,56806 | HL=Messaging_YouStartToClimb. | ||
| 61911 | JP PrintResponse | Jump to PrintResponse. | ||
|
Was the player trying to climb ... into the boat?
|
||||
| Climb_CheckIntoBoat | 61914 | LD HL,59483 | Call Parser_AdvanceToSeparator with 59483. | |
| 61917 | CALL Parser_AdvanceToSeparator | |||
| 61920 | JR NZ,Climb_CheckOutOfBoat | Jump to Climb_CheckOutOfBoat if the token isn't for getting into the boat. | ||
| 61922 | LD A,29 | Jump to Climb_EnterBoat if ValidateItemPresent reports that "A rowing boat" is in the current room. | ||
| 61924 | CALL ValidateItemPresent | |||
| 61927 | JR Z,Climb_EnterBoat | |||
|
Print "You are in the boat already.".
|
||||
| 61929 | LD HL,56474 | HL=Messaging_YouAreInTheBoatAlready. | ||
| 61932 | JP PrintResponse | Jump to PrintResponse. | ||
| Climb_EnterBoat | 61935 | LD A,29 | Call Handler_InjuryCheck with room 29: " In the Boat". | |
| 61937 | CALL Handler_InjuryCheck | |||
| 61940 | RET | Return. | ||
|
Was the player trying to climb ... out of the boat?
|
||||
| Climb_CheckOutOfBoat | 61941 | LD HL,59499 | Call Parser_AdvanceToSeparator with 59499. | |
| 61944 | CALL Parser_AdvanceToSeparator | |||
| 61947 | JR NZ,Climb_YouCant | Jump to Climb_YouCant if the token isn't for getting out of the boat. | ||
| 61949 | LD A,(47771) | Jump to Climb_LeaveBoat if *CurrentRoom is room 29: " In the Boat". | ||
| 61952 | CP 29 | |||
| 61954 | JR Z,Climb_LeaveBoat | |||
|
Print "You're not in the boat.".
|
||||
| 61956 | LD HL,56883 | HL=Messaging_YoureNotInTheBoat. | ||
| 61959 | JP PrintResponse | Jump to PrintResponse. | ||
| Climb_LeaveBoat | 61962 | LD A,29 | A=29; call GetObjectLocation. | |
| 61964 | CALL GetObjectLocation | |||
| 61967 | CALL Handler_InjuryCheck | Call Handler_InjuryCheck. | ||
| 61970 | RET | Return. | ||
|
Nothing else is valid.
|
||||
| Climb_YouCant | 61971 | JP Response_YouCant_GameLoop | Jump to Response_YouCant_GameLoop. | |
|
View the equivalent code in;
|
||||
| Prev: 61498 | Up: Map | Next: 61974 |