Prev: 44784 Up: Map Next: 44808
44791: Check Item From Item Group Present
Input
HL Pointer to item group data
Output
A The related item ID from the item group data which is present
F Z flag is set when no items from the group are present
CheckItemGroupPresent 44791 JR CheckItemGroupPresent_Process Jump to CheckItemGroupPresent_Process.
CheckItemGroupPresent_Loop 44793 INC HL Increment HL by one.
CheckItemGroupPresent_Process 44794 LD A,(HL) Fetch an item ID from the item group data in *HL.
44795 CP 255 Jump to CheckItemGroupPresent_Return if this is the terminator byte (255).
44797 JR Z,CheckItemGroupPresent_Return
44799 CALL ValidateItemPresent Call ValidateItemPresent.
44802 JR NZ,CheckItemGroupPresent_Loop Jump back to CheckItemGroupPresent_Loop if the item is not present either in the room or in the players inventory, to evaluate the next item ID.
The current item ID is either in the current room or in the players inventory, so restore the value and return with it in A.
44804 LD A,(HL) A=*HL.
44805 RET Return.
Got to the end and didn't locate the item anywhere.
CheckItemGroupPresent_Return 44806 AND A Set flags.
44807 RET Return.
Prev: 44784 Up: Map Next: 44808