![]() |
Routines |
| Prev: 8C23 | Up: Map | Next: 8C9B |
|
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 |