Prev: 36985 Up: Map Next: 37062
37001: Take: Glowing Sphere
Used by the routine at Validate_Take_MetalBar.
Was the player trying to take the glowing sphere?
Validate_Take_GlowingSphere 37001 LD HL,35187 Jump to Validate_Take_PoisonFungus unless the command matches the phrase at 35187 ("A glowing sphere.").
37004 CALL Parser_AdvanceToSeparator
37007 JR NZ,Validate_Take_PoisonFungus
37009 LD A,6
37011 CALL Take_IsPlayerHoldingItem
37014 LD A,6 Jump to Validate_Take_GlowingSphere_PickUp when "A glowing sphere." is here or being carried.
37016 CALL IsObjectInCurrentRoom
37019 JR Z,Validate_Take_GlowingSphere_PickUp
37021 LD A,60 Jump back to Take_YouCant when "A glowing sphere sitting on a raised dish on a glass pedestal." is not here or being carried.
37023 CALL IsObjectInCurrentRoom
37026 JP NZ,Take_YouCant
37029 EXX Keep the command pointer safe while the sphere is moved.
37030 LD BC,15360 Move "A glowing sphere sitting on a raised dish on a glass pedestal." to nowhere (0).
37033 CALL UpdateObjectLocation
37036 LD A,(25123) Fetch the current room.
37039 CP 28 The sphere was not picked up in room 28: " The Crystal Chamber".
37041 JR NZ,Validate_Take_GlowingSphere_Elsewhere
37043 LD BC,5404 Move "A glass pedestal with a raised dish on top." to room 28: " The Crystal Chamber".
37046 CALL UpdateObjectLocation
37049 EXX Bring the command pointer back.
37050 JR Validate_Take_GlowingSphere_PickUp Continue at Validate_Take_GlowingSphere_PickUp to pick the object up.
The sphere was taken outside the pedestal room.
Validate_Take_GlowingSphere_Elsewhere 37052 LD BC,5651 Move "A glass pedestal with a raised dish on top." to room 19: " The Blue Room".
37055 CALL UpdateObjectLocation
37058 EXX Bring the command pointer back.
Pick up the glowing sphere.
Validate_Take_GlowingSphere_PickUp 37059 JP TakeItem Jump to TakeItem.
Prev: 36985 Up: Map Next: 37062