Prev: C315 Up: Map Next: C35F
C32A: Action: Examine Item
Used by the routine at Parser_ProcessItem.
Input
C Item ID
Output
F Carry flag set when the item isn't present
Action_ExamineItem C32A INC BC Increment BC by one.
C32B LD A,($BD2A) E=*Count_Objects-C.
C32E SUB C
C32F LD E,A
C330 PUSH DE Stash DE on the stack.
C331 LD IX,($BD1A) IX=*Pointer_ItemGroupingTable.
C335 CALL GetTableEntry Call GetTableEntry.
C338 POP DE Restore DE from the stack.
C339 JR ExamineItem Jump to ExamineItem.
ExamineItem_Loop C33B INC HL Increment HL by one.
ExamineItem C33C LD A,(HL) Jump to Response_ItemNotHere if *HL is equal to FF.
C33D CP $FF
C33F JR Z,Response_ItemNotHere
C341 CALL ValidateItemPresent Call ValidateItemPresent.
C344 JR NZ,ExamineItem_Loop Jump to ExamineItem_Loop if the item wasn't found.
C346 RET Return.
The item being examined isn't in the room or in the players inventory.
Print "I can't see ".
Response_ItemNotHere C347 LD HL,$BE1D HL=Messaging_ICantSee.
C34A CALL PrintString Call PrintString.
Print the object name.
C34D LD IX,($BD1C) IX=*Pointer_ObjectNounPhrases.
C351 CALL GetTableEntry Call GetTableEntry.
C354 CALL PrintString Call PrintString.
Print " here.".
C357 LD HL,$BE2A HL=Messaging_Here.
C35A CALL PrintStringAndNewline Call PrintStringAndNewline.
C35D SCF Set the carry flag.
C35E RET Return.
Prev: C315 Up: Map Next: C35F