![]() |
Routines |
Prev: EF49 | Up: Map | Next: EF7C |
|
||||
The player wants to pick up the rope, check which version of it is in the current room.
|
||||
Process_GetRope | EF5A | LD HL,$E3B0 | Call CheckItemGroupPresent with Data_ItemGroup_Rope. | |
EF5D | CALL CheckItemGroupPresent | |||
Print "You can't." if the player is trying to pick up a version of the rope where the rope is "in-use" (e.g. "A wild ox,tethered to the pen by a length of rope").
|
||||
EF60 | CP $51 | Jump to Response_YouCant_Duplicate if the rope state in the current room is not "A piece of rope". | ||
EF62 | JP NZ,Response_YouCant_Duplicate | |||
The player wants to pick up the rope, check if there are any issues with allowing this (if the inventory is full, or the player is already carrying it).
|
||||
EF65 | CALL Check_PlayerInventory | Call Check_PlayerInventory. | ||
Is this the first time the player has picked up the rope?
|
||||
EF68 | LD HL,$A76C | Jump to Handler_PickUpItem if bit 2 of *Flag_GameStates_01 is set, which relates to carrying the rope. | ||
EF6B | BIT 2,(HL) | |||
EF6D | JP NZ,Handler_PickUpItem | |||
EF70 | SET 2,(HL) | Set bit 2 of *Flag_GameStates_01 to signify that the rope has been picked up. This is to prevent the points from being awarded more than one time. | ||
EF72 | LD A,$04 | Call AddToScore to add 04 points to the score. | ||
EF74 | CALL AddToScore | |||
EF77 | LD B,$51 | Jump to Handler_PickUpItem with item 51: "A piece of rope". | ||
EF79 | JP Handler_PickUpItem |
Prev: EF49 | Up: Map | Next: EF7C |