Prev: 37093 Up: Map Next: 37175
37130: Take: Key
Used by the routine at Validate_Take_RoundStones.
Was the player trying to take the key?
Validate_Take_Key 37130 LD HL,35170 Jump to Validate_Take_SpaceAxe unless the command matches the phrase at 35170 ("A key.").
37133 CALL Parser_AdvanceToSeparator
37136 JR NZ,Validate_Take_SpaceAxe
37138 LD A,9
37140 CALL Take_IsPlayerHoldingItem
37143 LD A,59 Jump back to Take_YouCant when "A key in the control panel. The key is set to 'ON'." is here or being carried.
37145 CALL IsObjectInCurrentRoom
37148 JP Z,Take_YouCant
37151 LD A,58 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.
37153 CALL IsObjectInCurrentRoom
37156 JR NZ,Validate_Take_Key_PickUp
37158 EXX Keep the command pointer safe while the key is moved.
37159 LD BC,14848 Move "A key in the control panel. The key is set to 'OFF'." to nowhere (0).
37162 CALL UpdateObjectLocation
37165 LD BC,10806 Move "A keyhole in the control panel." to room 54: " The Reactor Room".
37168 CALL UpdateObjectLocation
37171 EXX Bring the command pointer back.
Pick up the key.
Validate_Take_Key_PickUp 37172 JP TakeItem Jump to TakeItem.
View the equivalent code in;
Prev: 37093 Up: Map Next: 37175