![]() |
Routines |
Prev: 61135 | Up: Map | Next: 61193 |
|
||||
The player wants to pick up the urn, check if there are any issues with allowing this (if the inventory is full, or the player is already carrying it).
|
||||
Process_GetUrn | 61161 | LD A,28 | Call Check_PlayerInventory with item 28: "An urn". | |
61163 | CALL Check_PlayerInventory | |||
All is good, but check if "A bronze helmet (worn)" is present.
|
||||
61166 | LD A,32 | Call ValidateItemPresent with item 32: "A bronze helmet (worn)". | ||
61168 | CALL ValidateItemPresent | |||
Print "You cannot move it." if the player isn't wearing the helmet.
|
||||
61171 | JP NZ,Response_YouCannotMoveIt | Jump to Response_YouCannotMoveIt if "A bronze helmet (worn)" isn't present in the room or in the players inventory (note, it can only be in the "worn" state in the players inventory). | ||
Is this the first time the player has picked up the urn?
|
||||
61174 | LD HL,42860 | Jump to GetUrn if bit 4 of *Flag_GameStates_01 is set, which relates to carrying the urn. | ||
61177 | BIT 4,(HL) | |||
61179 | JR NZ,GetUrn | |||
61181 | SET 4,(HL) | Set bit 4 of *HL to signify that the urn has been picked up. This is to prevent the points from being awarded more than one time. | ||
61183 | LD A,4 | Call AddToScore to add 4 points to the score. | ||
61185 | CALL AddToScore | |||
GetUrn | 61188 | LD B,28 | Jump to Handler_PickUpItem with item 28: "An urn". | |
61190 | JP Handler_PickUpItem |
Prev: 61135 | Up: Map | Next: 61193 |