Prev: 90E5 Up: Map Next: 9137
910A: Take: Key
Used by the routine at Validate_Take_RoundStones.
Was the player trying to take the key?
Validate_Take_Key 910A LD HL,$8962 Jump to Validate_Take_SpaceAxe unless the command matches the phrase at 8962 ("A key.").
910D CALL Parser_AdvanceToSeparator
9110 JR NZ,Validate_Take_SpaceAxe
9112 LD A,$09
9114 CALL Take_IsPlayerHoldingItem
9117 LD A,$3B Jump back to Take_YouCant when "A key in the control panel. The key is set to 'ON'." is here or being carried.
9119 CALL IsObjectInCurrentRoom
911C JP Z,Take_YouCant
911F LD A,$3A Jump to Validate_Take_Key_PickUp when "A key in the control panel. The key is set to 'OFF'." is not here or being carried.
9121 CALL IsObjectInCurrentRoom
9124 JR NZ,Validate_Take_Key_PickUp
9126 EXX Keep the command pointer safe while the key is moved.
9127 LD BC,$3A00 Move "A key in the control panel. The key is set to 'OFF'." to nowhere (00).
912A CALL UpdateObjectLocation
912D LD BC,$2A36 Move "A keyhole in the control panel." to room 36: " The Reactor Room".
9130 CALL UpdateObjectLocation
9133 EXX Bring the command pointer back.
Pick up the key.
Validate_Take_Key_PickUp 9134 JP TakeItem Jump to TakeItem.
View the equivalent code in;
Prev: 90E5 Up: Map Next: 9137