Prev: AE2C Up: Map Next: AE7D
AE5E: 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 00 when the item is carried, otherwise 01
F The zero flag is set when the item is carried
The drop is valid when the item is already being carried.
Handler_IsCarryingItem AE5E CALL CheckObjectInInventory Call CheckObjectInInventory.
The item is being carried.
AE61 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.
AE62 LD HL,$001D The message for a singular item.
AE65 LD BC,$0003 Three items can take the plural message.
AE68 XOR A
AE69 OR C
AE6A JR Z,Handler_IsCarryingItem_0 No plural list, so keep the singular wording.
AE6C PUSH HL Search the plural-item list.
AE6D LD HL,$B6F1
AE70 CPIR
AE72 POP HL Restore the message pointer from the stack.
AE73 JR NZ,Handler_IsCarryingItem_0 Jump to Handler_IsCarryingItem_0 when this item is singular.
AE75 INC HL This item is plural, so use the next message.
Handler_IsCarryingItem_0 AE76 CALL PrintCompressedStringAndNewline Call PrintCompressedStringAndNewline.
AE79 LD A,$01 The drop is rejected.
AE7B AND A
The drop is rejected.
AE7C RET Return.
Prev: AE2C Up: Map Next: AE7D