Prev: 9079 Up: Map Next: 90C6
9089: Take: Glowing Sphere
Used by the routine at Validate_Take_MetalBar.
Was the player trying to take the glowing sphere?
Validate_Take_GlowingSphere 9089 LD HL,$8973 Jump to Validate_Take_PoisonFungus unless the command matches the phrase at 8973 ("A glowing sphere.").
908C CALL Parser_AdvanceToSeparator
908F JR NZ,Validate_Take_PoisonFungus
9091 LD A,$06
9093 CALL Take_IsPlayerHoldingItem
9096 LD A,$06 Jump to Validate_Take_GlowingSphere_PickUp when "A glowing sphere." is here or being carried.
9098 CALL IsObjectInCurrentRoom
909B JR Z,Validate_Take_GlowingSphere_PickUp
909D LD A,$3C Jump back to Take_YouCant when "A glowing sphere sitting on a raised dish on a glass pedestal." is not here or being carried.
909F CALL IsObjectInCurrentRoom
90A2 JP NZ,Take_YouCant
90A5 EXX Keep the command pointer safe while the sphere is moved.
90A6 LD BC,$3C00 Move "A glowing sphere sitting on a raised dish on a glass pedestal." to nowhere (00).
90A9 CALL UpdateObjectLocation
90AC LD A,($6223) Fetch the current room.
90AF CP $1C The sphere was not picked up in room 1C: " The Crystal Chamber".
90B1 JR NZ,Validate_Take_GlowingSphere_Elsewhere
90B3 LD BC,$151C Move "A glass pedestal with a raised dish on top." to room 1C: " The Crystal Chamber".
90B6 CALL UpdateObjectLocation
90B9 EXX Bring the command pointer back.
90BA 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 90BC LD BC,$1613 Move "A glass pedestal with a raised dish on top." to room 13: " The Blue Room".
90BF CALL UpdateObjectLocation
90C2 EXX Bring the command pointer back.
Pick up the glowing sphere.
Validate_Take_GlowingSphere_PickUp 90C3 JP TakeItem Jump to TakeItem.
Prev: 9079 Up: Map Next: 90C6