Routines
Prev:
44784
Up:
Map
Next:
44808
44791: Check Item From Item Group Present
Used by the routines at
Process_PreEnterFomoriansCavern
,
Process_PreEnterVarious
,
Process_ExamineHelmet
,
Process_ExamineSword
,
Process_ExamineAmulet
,
Process_ExamineBody
,
Process_ExamineTorc
,
Process_GetTorc
,
Process_GetHelmet
,
Process_GetSword
,
Process_GetMeat
,
Process_GetAmulet
,
Process_GetRope
,
Process_GetLadder
,
Process_GetCloak
,
Process_TakeAmuletFromDruid
,
Process_DropTorc
,
Process_DropHelmet
,
Process_DropSword
,
Process_DropRope
,
Process_DropLadder
,
Process_DropCloak
,
Process_TakeSwordFromSlab
,
Process_GiveHelmetToTrader
,
Process_GiveHelmetToGuardOrDruid
,
Process_FreeOx
,
Process_FreeRoman
,
Process_FreeHare
,
Process_FreeRope
,
Process_EnterIntoWater
,
Process_WearTorc
,
Process_WearHelmet
,
Process_WearAmulet
,
Process_DropAmulet
,
Process_WearCloak
,
Process_CaptureRoman
,
Process_PlaceLadderAgainstPlatform
,
Process_PlaceSwordOnSlab
,
IsPlayerCarryingSword
,
Process_KillRomanWithSword
,
Process_KillFomorian
,
Process_KillHareWithSword
and
Process_KillWarrior
.
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