![]() |
Routines |
| Prev: 26786 | Up: Map | Next: 26852 |
|
Picks the object up. It must be in the room, not already carried, and not worn. The carried id is written into the object's own location slot and the carried count increases.
|
||||
| GetObject | 26800 | LD A,(23945) | Already carried is message 21. | |
| 26803 | CP C | |||
| 26804 | JR NZ,GetObject_Worn | |||
| 26806 | LD A,21 | |||
|
This entry point is used by the routines at DropObject, WearObject and RemoveWorn.
|
||||
| GetObject_Refuse | 26808 | CALL PrintSystemMessage | Print the refusal, drop any comma continuation, and reject the line. | |
| 26811 | XOR A | |||
| 26812 | LD (23429),A | |||
| 26815 | JP RejectLine | |||
| GetObject_Worn | 26818 | LD A,(23946) | Already worn is message 29. | |
| 26821 | CP C | |||
| 26822 | JR NZ,GetObject_Here | |||
| 26824 | LD A,29 | Print that refusal. | ||
| 26826 | JR GetObject_Refuse | |||
| GetObject_Here | 26828 | LD A,(23943) | In this room, take it. | |
| 26831 | CP C | |||
| 26832 | JR Z,GetObject_Take | |||
| 26834 | LD A,22 | Message 22: it is not here. | ||
| 26836 | JR GetObject_Refuse | |||
| GetObject_Take | 26838 | CALL ObjectAddress | Point at the object's location byte. | |
| 26841 | LD A,(23945) | Write the carried id there and count it. | ||
| 26844 | LD (HL),A | |||
| 26845 | LD HL,23948 | |||
| 26848 | INC (HL) | |||
| 26849 | JP RoomHasChanged | Jump to RoomHasChanged so the room is described again. | ||
| Prev: 26786 | Up: Map | Next: 26852 |