Prev: 8C23 Up: Map Next: 8C9B
8C4B: Action: Look
Describes where the current character is. The player gets the place name; another character is reported instead. Reached through the action table at ActionTable, dispatched by Turn_RunTheHandlerIfPresent.
If the message is held back, the place is not described.
Action_Look 8C4B CALL ConditionSuppressTheMessage Call ConditionSuppressTheMessage. If the message is held back, the place is not described.
8C4E LD IX,($B70C) Use the record of the character whose turn it is.
8C52 LD A,(IX+$01) Read where this character is.
8C55 CP $FF Jump to Action_Look_DescribeTheLocation if this character is not inside another object.
8C57 JR Z,Action_Look_DescribeTheLocation
8C59 LD HL,$0080 Store 0080 in AFFD.
8C5C LD ($AFFD),HL
8C5F LD HL,$AFFC Point at the message "You are in[0x16]" (AFFC).
8C62 CALL PrintMessage Call PrintMessage to print message.
8C65 PUSH IX Read where this character is.
8C67 LD A,(IX+$01)
Find the object's record.
8C6A CALL LocateObject Call LocateObject to locate object.
Describe the place.
8C6D CALL Message_ExitsForThisLocation Call Message_ExitsForThisLocation to print the exits for this location.
8C70 LD E,(IX+$08) Read the name token from the object record.
8C73 LD A,(IX+$09) Read the name token's high byte from the object record.
8C76 AND $0F Keep the low nibble of byte 9 of this object.
8C78 LD D,A
Print the token in DE.
8C79 CALL PrintToken Call PrintToken to print a dictionary token.
Print a full stop.
8C7C LD A,$2E Print a full stop after the place name.
8C7E CALL Print_Character
Print a newline.
8C81 CALL Print_LineBreak Call Print_LineBreak to print a newline.
8C84 LD HL,$B003 Point at the message "You see :[0x14]" (B003).
8C87 CALL PrintMessage Call PrintMessage to print message.
8C8A POP IX Read where this object is from the object record.
8C8C LD A,(IX+$01)
8C8F LD B,(IX+$10) Read the location from the object record.
8C92 JP Message_ListWithASeparator Jump to Message_ListWithASeparator to list what is in this place.
Action_Look_DescribeTheLocation 8C95 LD A,(IX+$10) Read the location from the object record.
8C98 JP YouSeePreposition Jump to YouSeePreposition to describe this location.
Prev: 8C23 Up: Map Next: 8C9B