![]() |
Routines |
| Prev: 35875 | Up: Map | Next: 35995 |
|
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 | 35915 | CALL ConditionSuppressTheMessage | Call ConditionSuppressTheMessage. If the message is held back, the place is not described. | |
| 35918 | LD IX,(46860) | Use the record of the character whose turn it is. | ||
| 35922 | LD A,(IX+1) | Read where this character is. | ||
| 35925 | CP 255 | Jump to Action_Look_DescribeTheLocation if this character is not inside another object. | ||
| 35927 | JR Z,Action_Look_DescribeTheLocation | |||
| 35929 | LD HL,128 | Store 0128 in 45053. | ||
| 35932 | LD (45053),HL | |||
| 35935 | LD HL,45052 | Point at the message "You are in[0x16]" (45052). | ||
| 35938 | CALL PrintMessage | Call PrintMessage to print message. | ||
| 35941 | PUSH IX | Read where this character is. | ||
| 35943 | LD A,(IX+1) | |||
|
Find the object's record.
|
||||
| 35946 | CALL LocateObject | Call LocateObject to locate object. | ||
|
Describe the place.
|
||||
| 35949 | CALL Message_ExitsForThisLocation | Call Message_ExitsForThisLocation to print the exits for this location. | ||
| 35952 | LD E,(IX+8) | Read the name token from the object record. | ||
| 35955 | LD A,(IX+9) | Read the name token's high byte from the object record. | ||
| 35958 | AND 15 | Keep the low nibble of byte 9 of this object. | ||
| 35960 | LD D,A | |||
|
Print the token in DE.
|
||||
| 35961 | CALL PrintToken | Call PrintToken to print a dictionary token. | ||
|
Print a full stop.
|
||||
| 35964 | LD A,46 | Print a full stop after the place name. | ||
| 35966 | CALL Print_Character | |||
|
Print a newline.
|
||||
| 35969 | CALL Print_LineBreak | Call Print_LineBreak to print a newline. | ||
| 35972 | LD HL,45059 | Point at the message "You see :[0x14]" (45059). | ||
| 35975 | CALL PrintMessage | Call PrintMessage to print message. | ||
| 35978 | POP IX | Read where this object is from the object record. | ||
| 35980 | LD A,(IX+1) | |||
| 35983 | LD B,(IX+16) | Read the location from the object record. | ||
| 35986 | JP Message_ListWithASeparator | Jump to Message_ListWithASeparator to list what is in this place. | ||
| Action_Look_DescribeTheLocation | 35989 | LD A,(IX+16) | Read the location from the object record. | |
| 35992 | JP YouSeePreposition | Jump to YouSeePreposition to describe this location. | ||
| Prev: 35875 | Up: Map | Next: 35995 |