Prev: 26786 Up: Map Next: 26852
26800: Action: Get
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