Prev: F81D Up: Map Next: F869
F824: Action: Tie
Tie the rope to the rock above the volcano.
Action_Tie F824 CALL Parser_ValidateTwoDirectObjects Call Parser_ValidateTwoDirectObjects.
F827 RET C Return if the direct object is malformed.
Was the player trying to tie ... the rope to the overhang?
F828 LD HL,$E90B Call Parser_AdvanceToSeparator with E90B.
F82B CALL Parser_AdvanceToSeparator
F82E JR NZ,Tie_YouCant Jump to Tie_YouCant if the token isn't for the overhang.
F830 LD A,$23 Jump to Tie_CheckRoom if ValidateItemPresent reports that "A projection of rock with a rope tied to it. The rope dangles down into the volc" isn't in the current room.
F832 CALL ValidateItemPresent
F835 JR NZ,Tie_CheckRoom
Print "The rope is already tied.".
F837 LD HL,$E2F0 HL=Messaging_TheRopeIsAlreadyTied.
F83A JP PrintResponse Jump to PrintResponse.
Is the player at the top of the volcano?
Tie_CheckRoom F83D LD A,($BA9B) Jump to Response_IDontSeeThePoint if *CurrentRoom isn't room 47: " The Top of the Volcano".
F840 CP $47
F842 JP NZ,Response_IDontSeeThePoint
F845 LD A,$08 Jump to Tie_AttachRope if "A rope" isn't held.
F847 CALL IsObjectCarried
F84A JR NZ,Tie_AttachRope
F84C LD HL,$BA68 Decrease *Count_InventoryItems by one.
F84F DEC (HL)
F850 LD A,$08 Call Handler_UpdateItemForTheCurrentRoom with item 08: "A rope".
F852 CALL Handler_UpdateItemForTheCurrentRoom
Destroy the carried rope and attach it to the overhang.
Tie_AttachRope F855 LD A,$08 Call Handler_DestroyItem with item 08: "A rope".
F857 CALL Handler_DestroyItem
F85A LD BC,$2223 Call TransformItem to transform "A projection of rock hangs over the lip of the volcano" into "A projection of rock with a rope tied to it. The rope dangles down into the volc".
F85D CALL TransformItem
Print "O.K. The rope dangles down, into the volcano.".
F860 LD HL,$E2C2 HL=Messaging_OKTheRopeDanglesDownIntoTheVolcano.
F863 JP PrintResponse Jump to PrintResponse.
Nothing else is valid.
Tie_YouCant F866 JP Response_YouCant_GameLoop Jump to Response_YouCant_GameLoop.
Prev: F81D Up: Map Next: F869