Prev: 44588 Up: Map Next: 44669
44638: Handler: Is Carrying Item
Rejects a drop when the item is not carried.
Plural items in Table_PluralItems use the "them" message.
Input
A Item ID
Output
A 0 when the item is carried, otherwise 1
F The zero flag is set when the item is carried
The drop is valid when the item is already being carried.
Handler_IsCarryingItem 44638 CALL CheckObjectInInventory Call CheckObjectInInventory.
The item is being carried.
44641 RET Z Return.
Tell the player the item is not carried. A plural form from Table_PluralItems is used when the item is one of those three.
44642 LD HL,29 The message for a singular item.
44645 LD BC,3 Three items can take the plural message.
44648 XOR A
44649 OR C
44650 JR Z,Handler_IsCarryingItem_0 No plural list, so keep the singular wording.
44652 PUSH HL Search the plural-item list.
44653 LD HL,46833
44656 CPIR
44658 POP HL Restore the message pointer from the stack.
44659 JR NZ,Handler_IsCarryingItem_0 Jump to Handler_IsCarryingItem_0 when this item is singular.
44661 INC HL This item is plural, so use the next message.
Handler_IsCarryingItem_0 44662 CALL PrintCompressedStringAndNewline Call PrintCompressedStringAndNewline.
44665 LD A,1 The drop is rejected.
44667 AND A
The drop is rejected.
44668 RET Return.
Prev: 44588 Up: Map Next: 44669