Prev: 44338 Up: Map Next: 44651
44598: 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 44598 INC BC Increment BC by one.
44599 LD A,(42984) E=*Count_Objects-C.
44602 SUB C
44603 LD E,A
44604 PUSH DE Stash DE on the stack.
44605 LD IX,(42964) IX=*Pointer_ItemGroupingTable.
44609 CALL GetTableEntry Call GetTableEntry.
44612 POP DE Restore DE from the stack.
44613 JR ExamineItem Jump to ExamineItem.
ExamineItem_Loop 44615 INC HL Increment HL by one.
ExamineItem 44616 LD A,(HL) Jump to Response_ItemNotHere if *HL is equal to 255.
44617 CP 255
44619 JR Z,Response_ItemNotHere
44621 CALL ValidateItemPresent Call ValidateItemPresent.
44624 JR NZ,ExamineItem_Loop Jump to ExamineItem_Loop if the item wasn't found.
44626 RET Return.
The item being examined isn't in the room or in the players inventory.
Print "I can't see ".
Response_ItemNotHere 44627 LD HL,43227 HL=Messaging_ICantSee.
44630 CALL PrintString Call PrintString.
Print the object name.
44633 LD IX,(42966) IX=*Pointer_ObjectNounPhrases.
44637 CALL GetTableEntry Call GetTableEntry.
44640 CALL PrintString Call PrintString.
Print " here.".
44643 LD HL,43240 HL=Messaging_Here.
44646 CALL PrintStringAndNewline Call PrintStringAndNewline.
44649 SCF Set the carry flag.
44650 RET Return.
Prev: 44338 Up: Map Next: 44651