Prev: 61509 Up: Map Next: 61974
61840: Action: Climb
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