Prev: 68A2 Up: Map Next: 68E4
68B0: 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 68B0 LD A,($5D89) Already carried is message 15.
68B3 CP C
68B4 JR NZ,GetObject_Worn
68B6 LD A,$15
This entry point is used by the routines at DropObject, WearObject and RemoveWorn.
GetObject_Refuse 68B8 CALL PrintSystemMessage Print the refusal, drop any comma continuation, and reject the line.
68BB XOR A
68BC LD ($5B85),A
68BF JP RejectLine
GetObject_Worn 68C2 LD A,($5D8A) Already worn is message 1D.
68C5 CP C
68C6 JR NZ,GetObject_Here
68C8 LD A,$1D Print that refusal.
68CA JR GetObject_Refuse
GetObject_Here 68CC LD A,($5D87) In this room, take it.
68CF CP C
68D0 JR Z,GetObject_Take
68D2 LD A,$16 Message 16: it is not here.
68D4 JR GetObject_Refuse
GetObject_Take 68D6 CALL ObjectAddress Point at the object's location byte.
68D9 LD A,($5D89) Write the carried id there and count it.
68DC LD (HL),A
68DD LD HL,$5D8C
68E0 INC (HL)
68E1 JP RoomHasChanged Jump to RoomHasChanged so the room is described again.
Prev: 68A2 Up: Map Next: 68E4