Prev: 9D92 Up: Map Next: 9DDE
9DC8: Find the outermost holder
Follows the chain of holders of the object at IX upwards, as long as each holder is open (bit 5) or dead (bit 3): you can see into an open box or a dead character's pockets. Returns $FF if the chain ends with the object (or an open container holding it) loose in a room, and 0 if it ends at a closed container or a living character.
9DC8 PUSH IX
9DCA LD A,(IX+$01) A = the holder
9DCD CP $FF Nobody?
9DCF JR Z,$9DDB Then the object is loose: return $FF
9DD1 CALL $9B25 IX = the holder's record
9DD4 LD A,(IX+$07) Is the holder open or dead?
9DD7 AND $28
9DD9 JR NZ,$9DCA Yes: see through it and look at its holder
9DDB POP IX No: return 0 (shut in)
9DDD RET
Prev: 9D92 Up: Map Next: 9DDE