Prev: AEF0 Up: Map Next: AF08
AEF7: 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 AEF7 JR CheckItemGroupPresent_Process Jump to CheckItemGroupPresent_Process.
CheckItemGroupPresent_Loop AEF9 INC HL Increment HL by one.
CheckItemGroupPresent_Process AEFA LD A,(HL) Fetch an item ID from the item group data in *HL.
AEFB CP $FF Jump to CheckItemGroupPresent_Return if this is the terminator byte (FF).
AEFD JR Z,CheckItemGroupPresent_Return
AEFF CALL ValidateItemPresent Call ValidateItemPresent.
AF02 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.
AF04 LD A,(HL) A=*HL.
AF05 RET Return.
Got to the end and didn't locate the item anywhere.
CheckItemGroupPresent_Return AF06 AND A Set flags.
AF07 RET Return.
Prev: AEF0 Up: Map Next: AF08